したがって、これは単なる考えです...最初の改行でファイルに行を挿入したかったとしますが、ファイル全体をメモリに読み込みたくありませんでした。ファイルを1行ずつメモリに読み込み、最初の改行に達したら行を挿入してファイルリーダーを閉じる方法はありますか?
ありがとうございました!
タイトル/説明の以前のタイプミスで申し訳ありません
したがって、これは単なる考えです...最初の改行でファイルに行を挿入したかったとしますが、ファイル全体をメモリに読み込みたくありませんでした。ファイルを1行ずつメモリに読み込み、最初の改行に達したら行を挿入してファイルリーダーを閉じる方法はありますか?
ありがとうございました!
タイトル/説明の以前のタイプミスで申し訳ありません
一度に 1 バイトずつ読み取り、改行文字をインターセプトできます。次に、その位置で stream.WriteLine() を実行します。読み書き用にファイルを開く必要があります
編集: FileStream オブジェクトを使用することを考えましたが、よくわかりません。今のところ、ここに記載されている提案を試してください:http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/e5077949-5d23-4d26-a530-6d503745a197
次のことを試してください。
using (StreamWriter w = File.AppendText("test.txt"))
{
w.Write("\r\nTest");
w.Flush();
w.Close();
}
アップデート:
既存のテキスト ファイルに行を挿入する場合 (改行について言及したので、テキスト ファイルで作業していると思います): ファイル I/O API でそれを行う方法はありません。最初の行の後にテキストを読む必要があります。ファイルを壊して上書きし、元の末尾のテキストを追加します。