-1

重複の可能性:
C#:ファイルの先頭の前に
.NETを使用してファイルの途中に行を追加する

中にテキストがあり、このファイルの先頭にある他のテキストfile.txtが可能かどうかを知る必要がありますか?write

つまり、テキストがあり、すでに中にあるものを失うことなく、何か他のものを書きたいと思っていますfile.txt。しかし、この新しいテキストをファイルの先頭に挿入したいのですが...可能ですか?

私はStreamWriterファイル内に書き込むために使用しています。それが可能かどうか、そしてそうする方法を知る必要があります。

4

2 に答える 2

2

1 つの方法は、すべてのテキストを文字列に配置することです。

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", "私の名前はテストです");

        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 に答える