• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#替换文本文件中的某一行(要求此文件存在)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
     /// <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

           }
       }



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#标签的添加和删除(选择标签加样式)发布时间:2022-07-14
下一篇:
c++11::std::optional发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap