3

文字列変数に大量のコンテンツがあり、ストリーム ライターを使用してそのコンテンツをテキスト ファイルに書き込みたいと考えています。しかし、ストリーム ライターはテキストを切り捨てており、コンテンツ全体をファイルに書き込んでいません。なんで?

using (StreamWriter sw = new StreamWriter(completeFilePath))
{
    sw.Write(txt);
}
4

4 に答える 4

7

書き込み後、Flushメソッドを使用してバッファをクリアします。

sw.Write(Html);
sw.Flush();
于 2013-03-22T07:34:11.063 に答える
0

txtHTMLを含む文字列変数であると仮定して、のsw.Flush()後に呼び出してみてくださいsw.Write()。これにより、ストリームライターは残りの文字列をファイルに書き込むように強制されます。それでもファイルが切り捨てられる場合は、txt文字列に意図したとおりに完全な出力が含まれていることを確認してください。

于 2013-03-22T07:33:17.183 に答える
0

使ってみませんか

File.WriteAllText(completeFilePath, txt);

File.WriteAllTextのMSDNドキュメント

于 2013-03-22T07:36:25.207 に答える
0

サイズが大きすぎる場合は、

    using (StreamWriter sw = new StreamWriter(completeFilePath))
{
    sw.Write(txt);
    //just to make sure the stream writer flushes the command
    sw.Flush();
}

サイズがそれほど大きくない場合は、 File.WriteAllText メソッドを使用することをお勧めします

//no need to Open or Close anything
File.WriteAllText(Path, txt);
于 2013-03-22T07:42:17.960 に答える