C# StringBuilder 继续写入文件而不是替换它
C# StringBuilder Continue Writing to a File instead of Replacing it
我想继续写入我 StringBuilder
中的现有文本文件,而不是用新文件替换它。
原因:从datatable
持续记录到文件并在过程中清除它以防止程序运行时囤积大量内存很久了。
可能吗?
下面是我当前的代码,它替换为一个新的文本文件。
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());
}
更改此行:
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);
这将追加而不是替换文本。
我想继续写入我 StringBuilder
中的现有文本文件,而不是用新文件替换它。
原因:从datatable
持续记录到文件并在过程中清除它以防止程序运行时囤积大量内存很久了。
可能吗?
下面是我当前的代码,它替换为一个新的文本文件。
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());
}
更改此行:
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);
这将追加而不是替换文本。