写在.txt文件的开头

时间:2013-02-05 13:18:12

标签: c# winforms filestream

  

可能重复:
  C#: Prepending to beginning of a file
  Adding a Line to the Middle of a File with .NET

我的file.txt内有文字,我需要知道是否可以在此文件的开头write其他文字?

我的意思是:有一个文字,我想写一些其他内容,而不会丢失file.txt中已有的内容。但是,我想在文件的开头插入这个新文本......有可能吗?

我正在使用StreamWriter在文件中写入。只需要知道它是否可行以及这样做的方法。

2 个答案:

答案 0 :(得分:2)

一种方法是将所有文本放在一个字符串中:

using System.IO;

StreamReader streamReader = new StreamReader(filePath);
string initialText = streamReader.ReadToEnd();
streamReader.Close(); 

然后添加到字符串的开头:

endText = textAtBeginning & initialText;

然后最后写endText来替换文件中的所有文字:

// Write the string to a file, overwriting the existing text. 

StreamWriter myWriter = new StreamWriter("c:\\test.txt", false))
myWriter.WriteLine(endText);
myWriter.Close();

答案 1 :(得分:0)

试试这是最好的方法

File.WriteAllText(“debug.txt”,“我的名字是测试”);

        using (Stream stream = new FileStream("debug.txt", FileMode.OpenOrCreate))
        {
            stream.Seek(0, SeekOrigin.Begin);
            stream.Write(ASCIIEncoding.ASCII.GetBytes("whatever you text is"), 0, ASCIIEncoding.ASCII.GetBytes("whatever you text is").Length);
        }

你必须使用seek属性进行写作,因为前面的例子是读取所有内容并删除文件并创建新文件不是一个好习惯,当你有大文件时这是一个问题所以使用它是最好的方法。 寻找你想写的位置,然后写下来。