2014-12-02 123 views
0

我一直在努力尋找小時,一切都告訴我要像我這樣做,所以爲什麼這段代碼不會寫入我的文本文件?沒有錯誤被拋出,只要數據不會寫爲什麼不在Visual Basic中寫入我的文本文件?

Dim newDay As Boolean = True 
Dim attendance As StreamWriter 
    If newDay = True Then 
     Try 
      attendance = File.AppendText("attendanceLog.txt") 
      attendance.WriteLine(Date.Today.ToString("dd/MM/yyyy")) 
      newDay = False 
     Catch 
      MessageBox.Show("File access denied", "Error") 
     End Try 
    End If 
+0

關閉作家。我從來沒有使用VB,但我認爲在嘗試塊結束時它會'attendance.Close()' – 2014-12-02 05:53:12

+3

您的文件名沒有文件路徑 - 是否在bin目錄中創建了另一個文件,但您沒有注意到? – 2014-12-02 05:54:06

+0

我忘了關閉它。謝謝,Zohaib – 2014-12-02 06:01:37

回答

1

當您使用StreamWriter時,您發送的所有內容都將放入隊列中,以避免每次需要添加新部件(對於大型文件(如日誌)非常低效)時寫入文件。

要處理該隊列,只需撥打StreamWriter.Flush()即可。

但這是不鼓勵的。 你應該在最後使用StreamWriter.Close(),它會自動執行此操作,然後從內存中放置該對象。

Dim newDay As Boolean = True 
Dim attendance As StreamWriter 
If newDay = True Then 
    Try 
     attendance = File.AppendText("attendanceLog.txt") 
     attendance.WriteLine(Date.Today.ToString("dd/MM/yyyy")) 
     attendance.Close() 
     newDay = False 
    Catch 
     MessageBox.Show("File access denied", "Error") 
    End Try 
End If 
0

請務必但你的文件路徑

File.AppendText("c:\users\admin\document\attendanceLog.txt") //for example 

我認爲這將是工作,或者你可以找到attendanceLog.txt在本地項目文件上。

相關問題