我有一个file.txt
带有文本的内容,我需要知道write
此文件开头是否有其他文本?
我的意思是:有一个文本,我想写一些别的东西,而不会丢失我在file.txt
. 但是,我想在文件的开头插入这个新文本......有可能吗?
我StreamWriter
用来写文件里面。只需要知道它是否可能以及这样做的方法。
我有一个file.txt
带有文本的内容,我需要知道write
此文件开头是否有其他文本?
我的意思是:有一个文本,我想写一些别的东西,而不会丢失我在file.txt
. 但是,我想在文件的开头插入这个新文本......有可能吗?
我StreamWriter
用来写文件里面。只需要知道它是否可能以及这样做的方法。
一种方法是将所有文本放在一个字符串中:
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();
试试这是最好的方法
File.WriteAllText("debug.txt", "我叫Test");
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 属性进行写入,就像前面读取所有内容并删除文件和创建新文件的示例一样,这不是一个好习惯,当您有大文件时这是一个问题,所以使用这是最好的方法。找到你想写的位置,然后写。