-1

可能重复:
C#:在文件开头
添加一行使用 .NET 在文件中间添加一行

我有一个file.txt带有文本的内容,我需要知道write此文件开头是否有其他文本?

我的意思是:有一个文本,我想写一些别的东西,而不会丢失我在file.txt. 但是,我想在文件的开头插入这个新文本......有可能吗?

StreamWriter用来写文件里面。只需要知道它是否可能以及这样做的方法。

4

2 回答 2

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();
于 2013-02-05T13:22:19.000 回答
0

试试这是最好的方法

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 属性进行写入,就像前面读取所有内容并删除文件和创建新文件的示例一样,这不是一个好习惯,当您有大文件时这是一个问题,所以使用这是最好的方法。找到你想写的位置,然后写。

于 2013-02-05T13:21:53.207 回答