我需要能够在创建后写入文本文件
'Check for file
File.Open("AI\Log.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)
File.Open("AI\AI.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)
'Write to log
If File.ReadAllText("AI\Log.txt") = "" Then
File.AppendAllText("AI\Log.txt", "User>" + Input.Text)
File.AppendAllText("AI\Log.txt", vbNewLine + "Console>" + Output.Lines.Last)
Else
File.AppendAllText("AI\Log.txt", vbNewLine + "User>" + Input.Text)
File.AppendAllText("AI\Log.txt", vbNewLine + "Console>" + Output.Lines.Last)
End If
答案 0 :(得分:1)
您没有正确使用System.IO
API。
我看到你的代码首先使用File.Open
打开文件但是后来对返回的流对象没有做任何事情,因此文件保持打开状态,然后你仍然使用静态AppendAllText
方法有打开的把手(你会泄漏)。
如果您刚刚使用AppendAllText
,那么您根本不需要使用静态File.ReadAllText
或File.Open
方法。