可能重复:
C#: Prepending to beginning of a file
Adding a Line to the Middle of a File with .NET
我的file.txt
内有文字,我需要知道是否可以在此文件的开头write
其他文字?
我的意思是:有一个文字,我想写一些其他内容,而不会丢失file.txt
中已有的内容。但是,我想在文件的开头插入这个新文本......有可能吗?
我正在使用StreamWriter
在文件中写入。只需要知道它是否可行以及这样做的方法。
答案 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属性进行写作,因为前面的例子是读取所有内容并删除文件并创建新文件不是一个好习惯,当你有大文件时这是一个问题所以使用它是最好的方法。 寻找你想写的位置,然后写下来。