2009-12-04 11 views

答えて

13

はい、あります。

もしそうでなければ、後で処分するものを返さないので、後でそれを閉じる方法はありません。 the docsから

:文字列やファイルパスを考えると

、この メソッドは、指定されたファイルを開き、 は ファイルの末尾に文字列を追加し、ファイルを閉じます。

他のユーティリティメソッド(ReadAllText,など)は同じように機能します。

+0

私はStreamWriterを使用する傾向がありましたが、これはずっと簡単です。 –

+0

'All'を含むすべてのIOメソッドは、基本ストリームfe:' File.AppendAllLines'、 'File.AppendAllText'、' File.ReadAllBytes'、 'File.ReadAllLines'、 'File.ReadAllText'、' File.WriteAllLines'、 'File.WriteAllText'です。保証はありませんが、ニーモニックは良いです。 –

+0

@TimSchmelter:私は "ストリーム/リーダ/ライターを返しますか?"そうでない場合は、すべてを終了する必要があります(他には何もできません)。そうであれば、既に閉じているものを返すことはありません。 –

4

これは、メソッドのコードである:したがって

public static void AppendAllText(string path, string contents, Encoding encoding) 
{ 
    using (StreamWriter writer = new StreamWriter(path, true, encoding)) 
    { 
     writer.Write(contents); 
    } 
} 

、はい。

+3

絶対にしなければ実装の詳細に頼るのは良い考えではないと思います。実装が変更される可能性があります。幸いにも、この場合は明示的に文書化されています。 –

関連する問題