這應該是一個非常簡單的修復方法,但由於某種原因我缺少一些東西。我所要做的就是獲得必須寫入標題的字符串生成器函數,但由於某種原因,它目前不是。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