尝试将文本写入文件时出现System.IO.IOException

时间:2015-01-23 21:35:44

标签: vb.net file-io

我需要能够在创建后写入文本文件

    '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

1 个答案:

答案 0 :(得分:1)

您没有正确使用System.IO API。

我看到你的代码首先使用File.Open打开文件但是后来对返回的流对象没有做任何事情,因此文件保持打开状态,然后你仍然使用静态AppendAllText方法有打开的把手(你会泄漏)。

如果您刚刚使用AppendAllText,那么您根本不需要使用静态File.ReadAllTextFile.Open方法。