我想继续写入StringBuilder
中的现有文本文件,而不是将其替换为新文件。
原因:要从datatable
持续记录文件并在执行过程中清除它,以防止程序长时间运行而积ho大量内存。 / p>
有可能吗?
下面是我当前的代码,该代码将替换为新的文本文件。
try
{
var result = new StringBuilder();
result.Append("#|ID|V1Records|V2Records|");
result.AppendLine();
foreach (DataRow row in SuccessTranslation.Rows)
{
for (int i = 0; i < SuccessTranslation.Columns.Count; i++)
{
result.Append(row[i].ToString());
result.Append(i == SuccessTranslation.Columns.Count - 1 ? "\n" : "|");
}
result.AppendLine();
}
StreamWriter objWriter = new StreamWriter("C:\\Temp\\RecordsConversion_Success_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".txt", false);
objWriter.WriteLine(result.ToString());
objWriter.Close();
}
catch (Exception ex)
{
log.LogError(Method, ex.Message.ToString());
}
答案 0 :(得分:1)
更改此行:
StreamWriter objWriter =
new StreamWriter(
"C:\\Temp\\RecordsConversion_Success_" +
DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".txt",
false);
收件人:
StreamWriter objWriter =
new StreamWriter(
"C:\\Temp\\RecordsConversion_Success_" +
DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".txt",
true);
它将附加文本而不是替换文本。