将一些文本插入到现有文本文件的确切位置

本文关键字:文本 文件 位置 插入 | 更新日期: 2023-09-27 18:03:26

我试图在现有文件的确切位置插入一些文本。第一个方法是这对什么都没有影响?

       string newData;
       string data = System.IO.File.ReadAllText("lal.txt");
       int indx = data.IndexOf("1");
       if (data.Contains("1"))
       {
           MessageBox.Show(indx.ToString());
           newData=data.Insert(indx+1, "ooooooooooooooooooooooooo");
           File.WriteAllText("lal.txt",data);
       }

我正在使用的另一个方法——这个方法完全删除所有内容或不创建内容??

 string newData;
        string data = System.IO.File.ReadAllText("lal.txt");
       int indx = data.IndexOf("1");
       if (data.Contains("1"))
       {
           MessageBox.Show(indx.ToString());
           newData=data.Insert(indx+1, "ooooooooooooooooooooooooo");
           var f = new StreamWriter(File.Create("ll1.txt"));
           f.Write(newData);
           //data.Insert(indx, "OIasasas");
       }

将一些文本插入到现有文本文件的确切位置

第一个代码片段有错误:更改的字符串在newData变量中,但您将未更改的字符串写入文件。

第二个代码片段有另一个错误:你写了正确的字符串,但没有关闭文件流,所以可能不会进行更改。

应该可以

string data = System.IO.File.ReadAllText("lal.txt");
int indx = data.IndexOf("1");
if (indx != -1)
{
    var newData = data.Insert(indx + 1, "ooooooooooooooooooooooooo");
    File.WriteAllText("lal.txt", newData);
}