2012-03-04 9 views
3

はのは、私は次のコードがあるとしましょう:C#書き換えずにテキストをテキストファイルに追加しますか?

StreamWriter sw = new StreamWriter(File.OpenWrite(Path)); 
sw.Write("Some stuff here"); 
sw.Dispose(); 

このコードは、しかし、私はファイルにテキストを追加するのではなく、テキストを交換したいと思います「ここではいくつかのもの」でファイルの内容を置き換えます。どうすればいい?

答えて

5

は、あなたが追加したいStreamWriterを伝える必要があります:

var sw = new StreamWriter(path, true); 

File.OpenWrite

は添付をサポートしていません。あなたはストリームを心配する必要はありかつ(さえ例外が発生した場合にそれらを配置していないこの道を

File.AppendAllText(Path, "blah"); 

3

あなたはFile.AppendAllTextメソッドを使用して、あなたが持っているコードの3行を置き換えることができますそれはあなたが適切にやっていない)、コードは非常に簡単で、ポイントまでは簡単です。

1

2番目のパラメータとしてboolを使用するStreamWriterコンストラクタがあります。これは、trueの場合にライタに追加するように指示します。

0

ファイルにテキストを追加するには、FileMode.Appendを使用してファイルを開くことができます。

StreamWriter sw = new StreamWriter(File.Open(Path, System.IO.FileMode.Append)); 

これは単なる1つの方法です。 StreamWriterオブジェクトが明示的に必要ない場合は、他の人が提案したものを使用することをお勧めします。File.AppendAllText

関連する問題