zoukankan      html  css  js  c++  java
  • C# 替换文本文件中的某一行 (要求此文件存在)

         /// <summary>
           /// LineIndex 表示新的内容所在的行位置
           /// </summary>
           /// <param name="sFileName"></param>
           /// <param name="sOrigionContent"></param>
           /// <param name="sNewLineContent"></param>
           /// <param name="LineIndex"></param>
           public static void SaveTxtReplaceOneLine(string sFileName, string sOrigionContent, string sNewLineContent, int iNewLineIndex)
           {
               try
               {
                   StringBuilder sbNewSave = new StringBuilder();
                   sFileName = sFileName.Replace("|", "_");
                   string sFolder = Directory.GetParent(sFileName).ToString();
                   if (!System.IO.Directory.Exists(sFolder))
                   {
                       System.IO.Directory.CreateDirectory(sFolder);
                   }
    
                   if (!System.IO.File.Exists(sFileName))
                   {
                       throw new Exception("file not exist");
                   }
    
                   string[] arrLine = sOrigionContent.Trim().Split(Convert.ToChar(Keys.Return));
                   for (int i = 0; i < iNewLineIndex; i++)
                   {
                       sbNewSave.AppendLine(arrLine[i].Trim('\r').Trim('\n'));
                   }
                   sbNewSave.AppendLine(sNewLineContent);
                   for (int i = iNewLineIndex + 1; i < arrLine.Length; i++)
                   {
                       sbNewSave.AppendLine(arrLine[i].Trim('\r').Trim('\n'));
                   }
    
                   FileStream fsTxtWrite = new FileStream(sFileName, FileMode.Create, FileAccess.Write);
                   StreamWriter srWrite = new StreamWriter(fsTxtWrite, System.Text.Encoding.UTF8);
                   //StreamWriter srWrite = new StreamWriter(fsTxtWrite, System.Text.Encoding.Default);
    
                   srWrite.Write(sbNewSave.ToString().Trim());
    
                   srWrite.Close();
                   srWrite.Dispose();
                   fsTxtWrite.Dispose();
    
               }
               catch (Exception ex)
               {
                   //MessageBox.Show(ex.Message);
    
                   #region ### error info
                   try
                   {
                       string sFolder = Directory.GetParent(sFileName).ToString();
                       string sErrFullName = sFolder + "_err_" + System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".txt";
                       if (!System.IO.File.Exists(sErrFullName))
                       {
                           FileStream fs;
                           fs = File.Create(sErrFullName);
    
                           StreamWriter srWrite = new StreamWriter(fs, System.Text.Encoding.UTF8);
    
                           srWrite.Write(sFileName);
    
                           srWrite.Close();
                           srWrite.Dispose();
    
                           fs.Close();
                       }
                   }
                   catch (Exception ex2)
                   { }
                   #endregion ###error
    
               }
           }


  • 相关阅读:
    命令行方式执行YUITest单元测试
    Rails系统重构:从单一复杂系统到多个小应用集群
    hudson部署设置 Spring——Java程序员的春天 ITeye技术网站
    java获取本机IP
    2.5.如何创建JAR以及把它安装到本地库中?
    管理员常用的管理工具有哪些?
    PHP学习之十四:构造函数
    window phone 7开发之 项目初体验
    window phone7开始之 横屏竖屏
    Silverlight 硬件加速
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3091619.html
Copyright © 2011-2022 走看看