StreamWriter在写入文本文件时截断文本

本文关键字:文本 文件 StreamWriter | 更新日期: 2023-09-27 18:05:20

我在字符串变量中有一个巨大的内容,我想使用流写入器将该内容写入文本文件。但是流编写器正在截断文本,而不是将整个内容写入文件。为什么?

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

StreamWriter在写入文本文件时截断文本

Write后,使用Flush方法清空缓冲区

sw.Write(Html);
sw.Flush();

假设txt是包含HTML的字符串变量,尝试在sw.Write()之后调用sw.Flush()。这将迫使流写入器将字符串的其余部分写入文件。如果文件仍然被截断,确保txt字符串包含预期的完整输出。

为什么不使用

File.WriteAllText(completeFilePath, txt);

MSDN文件文档。WriteAllText

如果字体太大,

    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);