zoukankan      html  css  js  c++  java
  • C# 替换文本文件中的某一行

    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('
    ').Trim('
    '));
                   }
                   sbNewSave.AppendLine(sNewLineContent);
                   for (int i = iNewLineIndex + 1; i < arrLine.Length; i++)
                   {
                       sbNewSave.AppendLine(arrLine[i].Trim('
    ').Trim('
    '));
                   }
    
                   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
    
               }
           }
    View Code
  • 相关阅读:
    deleted
    deleted
    deleted
    deleted
    deleted
    deleted
    deleted
    CF #505 B Weakened Common Divisor(数论)题解
    HDU 6425 Rikka with Badminton(组合问题签到)题解
    ZOJ 2747 Paint the Wall(离散化+暴力)题解
  • 原文地址:https://www.cnblogs.com/ArRan/p/3690944.html
Copyright © 2011-2022 走看看