0

したがって、これは単なる考えです...最初の改行でファイルに行を挿入したかったとしますが、ファイル全体をメモリに読み込みたくありませんでした。ファイルを1行ずつメモリに読み込み、最初の改行に達したら行を挿入してファイルリーダーを閉じる方法はありますか?

ありがとうございました!

タイトル/説明の以前のタイプミスで申し訳ありません

4

2 に答える 2

2

一度に 1 バイトずつ読み取り、改行文字をインターセプトできます。次に、その位置で stream.WriteLine() を実行します。読み書き用にファイルを開く必要があります

編集: FileStream オブジェクトを使用することを考えましたが、よくわかりません。今のところ、ここに記載されている提案を試してください:http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/e5077949-5d23-4d26-a530-6d503745a197

もう一度編集: How to both read and write a file in C# を確認してください

于 2012-05-18T17:24:12.343 に答える
0

次のことを試してください。

using (StreamWriter w = File.AppendText("test.txt"))
{
     w.Write("\r\nTest");
     w.Flush();
     w.Close();
}

アップデート:

既存のテキスト ファイルに行を挿入する場合 (改行について言及したので、テキスト ファイルで作業していると思います): ファイル I/O API でそれを行う方法はありません。最初の行のにテキストを読む必要があります。ファイルを壊して上書きし、元の末尾のテキストを追加します。

于 2012-05-18T17:20:29.110 に答える