2016-03-31 28 views
-2

我需要記錄int(攝像頭跟蹤應用程序)的值。 所以我寫了下面的函數,嘗試了一些變化,但到目前爲止它只記錄1個數據樣本,而我的主應用程序中刷新標籤的另一個命令確實經常更新,爲什麼不這樣做。 以下是我用所有圖形函數編寫的dll的一部分。 我做了完全的編譯等,但它並不想甩我INT在日誌:(流寫入器不記錄追加數據

public static void DumpIntToFile(string filename, int i) 
{ 
    StreamWriter sw = System.IO.File.AppendText(filename); 
    sw.WriteLine(i.ToString()); 
    sw.Close(); // to commit 
} 

這裏的標籤更新,但我的日誌犯規增長

lblMinimumSurfaceSize.Text = Lijst[i].SurfaceSize.ToString(); 
MagicMath.DumpIntToFile(@"D:\SampleData.txt", Lijst[i].SurfaceSize); 
+0

是運行應用程序它一個數據樣本_each time_,或者只是一個曾經樣品 – CodingGorilla

+0

只是想你的代碼,它工作正常,我......也許你覆蓋文件厄爾斯的地方? è? –

+0

提交行的寫入嘗試在'sw.Close();之前添加'sw.Flush();'你也需要看看重載那裏應該有一個布爾標誌,你可以設置爲'true'或'false'來覆蓋現有文件或創建一個新文件。 – MethodMan

回答

1

你必須刷新你的作家:

sw.Flush(); 
+0

對Close()的調用刷新緩衝區 – SpaceghostAli

+0

對'Flush()的調用立即寫到文件中,所以這個答案也是有效的..它不應該被投票。 – MethodMan

+0

實際上,雖然我沒有使用它,但我喜歡你的回答,我的代碼一直在爲未知的原因工作,我認爲vs2015很難過,所以我沒有改變我的代碼。只是試圖一次又一次地編譯它(我無法看到我的代碼不應該工作的任何錯誤或原因) – user3800527