这应该是一个非常简单的修复方法,但由于某种原因我缺少一些东西。我所要做的就是获得必须写入标题的字符串生成器函数,但由于某种原因,它目前不是。C# - 使用字符串生成器将日志文件写入日志文件
当我尝试将if语句更改为!File.Exists(tempFileName)时,它不会在我的循环中运行。
有什么建议吗?另外,让我知道你是否需要更多信息。提前致谢。
public static void Open(string tempFileName, string division,
int zipFiles, int conversions, int returnedFiles, int totalEmails)
{
StreamWriter dailyStats;
//This is where I am missing something
//I am passing in the original filename of a log, then adding "-Stats.log"
//so I can tell the difference between what is the new stats file, and the original log file
if (File.Exists(tempFileName))
{
dailyStats = new StreamWriter(tempFileName + "-Stats.log");
StringBuilder sb = new StringBuilder();
sb.Append("Division");
sb.Append("\t");
sb.Append("Zip Files");
sb.Append("\t");
sb.Append("Conversions");
sb.Append("\t");
sb.Append("Returned Files");
sb.Append("\t");
sb.Append("Total E-Mails");
sb.Append("\t");
}
else
{
dailyStats = File.AppendText(tempFileName + "-Stats.log");
}
if (writeLog)
{
//Use a string builder to assemble the content for performance reasons
StringBuilder s = new StringBuilder();
s.Append(division);
s.Append("\t");
s.Append(zipFiles);
s.Append("\t");
s.Append(conversions);
s.Append("\t");
s.Append(returnedFiles);
s.Append("\t");
s.Append(totalEmails);
s.Append("\t");
dailyStats.WriteLine(s.ToString());
}
dailyStats.Close();
}
我的代码比我以前的代码更好,但正如我在上面的回答中提到的那样,它仍然不能正常工作。还有其他建议吗?在此先感谢 – 2012-04-24 14:57:03
必须交换'if'和'else'部分。只有在文件尚不存在的情况下才需要写入头文件,即只写入新文件。 (我在现在的例子中改了它。) – 2012-04-24 15:03:02
这实际上写出了标题,但现在它只能运行我的循环并打印一次值。出于某种原因,每当我改变一件事时,我就会得到另一件事,反之亦然。无法弄清楚为什么会发生这种情况。 – 2012-04-24 15:05:37