• 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
    
               }
           }


  • 相关阅读:
    双色球的概率和收益
    伽玛函数
    概率统计13——二项分布与多项分布
    贝叶斯决策理论(1)
    线性代数笔记34——左右逆和伪逆
    线性代数笔记33——基变换和图像压缩
    线性代数笔记32——线性变换及对应矩阵
    线性代数笔记31——奇异值分解
    线性代数笔记30——相似矩阵和诺尔当型
    线性代数笔记29——正定矩阵和最小值
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3091619.html
Copyright © 2020-2023  润新知