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 = ; i < iNewLineIndex; i++)
{
sbNewSave.AppendLine(arrLine[i].Trim('\r').Trim('\n'));
}
sbNewSave.AppendLine(sNewLineContent);
for (int i = iNewLineIndex + ; 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 }
}

C# 替换文本文件中的某一行的更多相关文章

  1. 【Shell】使用sed命令替换文件中的某一行

    原始文件内容 -bash-3.2# cat configTest.xml <?xml version="1.0" encoding="UTF-8"?> ...

  2. 替换文本:将文本文件中的所有src替换为dst

    题意: 将文本文件中的所有src替换为dst 方法一:使用String import java.io.File; import java.io.FileNotFoundException; impor ...

  3. 使用 sed 命令查找和替换文件中的字符串的 16 个示例

    当你在使用文本文件时,很可能需要查找和替换文件中的字符串.sed 命令主要用于替换一个文件中的文本.在 Linux 中这可以通过使用 sed 命令和 awk 命令来完成. 在本教程中,我们将告诉你使用 ...

  4. Java查找替换文本文件内容

    文本替换几乎是所有文本编辑器都支持的功能,但是要限制在编辑其中才可以执行该功能.本实例实现了制定文本文件的内容替换,并且不需要再编辑其中打开文本文件. 思路: 先看视图层,要有一个JButton控件用 ...

  5. linux中批量替换文本中字符串--转载

    (一)通过vi编辑器来替换.vi/vim 中可以使用 :s 命令来替换字符串.:s/well/good/ 替换当前行第一个 well 为 good:s/well/good/g 替换当前行所有 well ...

  6. java往文本文件中写入信息并修改

    题目要求: 1.可以往一个文本文档中写入员工信息:name,id和详情 2.可以更改name package FanCQ.Xue.practice; import java.io.*;import j ...

  7. linux sed 批量替换文件中的字符串或符号

    sed -i :直接修改读取的文件内容,而不是输出到终端.   sed -i 就是直接对文本文件进行操作的   替换每行第一次出现的字符串 sed -i 's/查找的字符串/替换的字符串/' 文件   ...

  8. subst - 替换文件中的定义

    总览 (SYNOPSIS) subst [ -e editor ] -f substitutions victim ... 描述 (DESCRIPTION) Subst 能够 替换 文件 的 内容, ...

  9. 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图

    [源码下载] 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Co ...

随机推荐

  1. C# 在vs2010中打开vs2012的项目(转)

    在vs2010中打开vs2012的项目 今天在自己的电脑上装了vs2010然后要打开之前在vs2012上创建的sln文件 被提示-- 无法打开在新版本上创建的sln--解决方案--文件 其实vs201 ...

  2. POJ1008Maya Calendar

    http://poj.org/problem?id=1008&lang=default&change=true 这个题倒是不难,就是麻烦一点,但是还WA了几次都是因为处理天数的时候没处 ...

  3. JavaC 编译目录下所有的UTF-8编码的java文件

    javac -encoding UTF-8  *.java

  4. 使用ajax()方法加载服务器数据

    使用ajax()方法加载服务器数据 使用ajax()方法是最底层.功能最强大的请求服务器数据的方法,它不仅可以获取服务器返回的数据,还能向服务器发送请求并传递数值,它的调用格式如下: jQuery.a ...

  5. 【零基础学习iOS开发】【02-C语言】05-进制

    上一讲简单介绍了常量和变量,这讲补充一点计算机的基础知识---进制. 我们先来看看平时是如何表示一个整数的,最常见的肯定是用阿拉伯数字表示,比如“十二”,我们可以用12来表示,其实这种表示方式是基于一 ...

  6. Project Euler 89:Roman numerals 罗马数字

    Roman numerals For a number written in Roman numerals to be considered valid there are basic rules w ...

  7. PHP工程师面临成长瓶颈

    作为开发中应用最广泛的语言之一,PHP有着大量的粉丝,那么你是一名优秀的程序员吗?在进行自我修炼的同时,你是否想过面对各种各样的问题,我该如何突破自身的瓶颈,以便更好的发展呢?PHP工程师面临成长瓶颈 ...

  8. IO多路复用的几种实现机制的分析

    http://blog.csdn.net/zhang_shuai_2011/article/details/7675797 select,poll,epoll都是IO多路复用的机制.所谓I/O多路复用 ...

  9. Tornado 中的 get() 或 post() 方法

    ---恢复内容开始--- Tornado 中的 get() 或 post() 方法 请求处理程序和请求参数 Tornado 的 Web 程序会将 URL 或者 URL 范式映射到 tornado.we ...

  10. PHP Redis 普通封装类

    class redisInit { private $redis; //redis对象 /** * 初始化Redis * $config = array( * 'server' => '127. ...