读取和写入文件会导致"The process cannot access the file because it is being used by another process"错误



我对编码非常新鲜,因此我的代码非常基本,但是我试图使用从列表框中选择的项目重写文件。该代码是我完整代码的娱乐,因此它不是那么详尽,但我希望能够更改网站产品的"可用性"(从理论上讲,因为这不是专业项目(。当我尝试读取或编写文件时,出现错误消息说"该过程无法访问该文件,因为它是由另一个过程使用的"。

Dim FileRewrite As String = "FileRewrite.txt"
Dim ValidateID As Boolean
Dim Read As String
Dim IDR As String
Dim YNR As String
Private Sub TxtBxID_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtBxID.TextChanged
    If TxtBxID.Text.Length = 2 Then
        ValidateID = True
    Else
        ValidateID = False
    End If
End Sub
Private Sub BtnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAdd.Click
    Dim ID As String
    Dim YN As String
    Dim Writer As New System.IO.StreamWriter(FileRewrite, True)
    If ValidateID = True Then
        ID = TxtBxID.Text
        If CBxYN.Checked = True Then
            YN = "YES"
        Else
            YN = "NO "
        End If
        Writer.WriteLine(LSet(ID, 3) & LSet(YN, 3))
        Writer.Close()
        LstBxItems.Items.Clear()
        Dim Reader As New System.IO.StreamReader(FileRewrite, True)
        Do While Reader.Peek >= 0
            LstBxItems.Items.Add(Reader.ReadLine)
        Loop
        Reader.Close()
    Else
        MsgBox("Please enter a 2 digit ID")
    End If
End Sub

Private Sub BtnChange_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnChange.Click
    Dim ItemToChange As String
    Dim Reader As New System.IO.StreamReader(FileRewrite, True)
    ItemToChange = LstBxItems.SelectedItem
    IDR = Mid(ItemToChange, 1, 3)
    YNR = Mid(ItemToChange, 4, 6)
    Do While Reader.Peek >= 0
        Read = Reader.ReadLine
        Writer()
    Loop
    Reader.Close()
End Sub
Private Sub Writer()
    Dim Writer As New System.IO.StreamWriter(FileRewrite, True)
    If Mid(Read, 1, 3) = IDR Then
        If YNR = "YES" Then
            YNR = "NO "
        Else
            YNR = "YES"
        End If
        Writer.WriteLine(LSet(IDR, 3) & LSet(YNR, 3))
        Writer.Close()
    End If
End Sub

我希望文件中的产品可用性从YES更改为否或否,但读者和作者将无法正常工作

您在通过同一文件循环以通过Reader.Peek

读取文件时无法写入文件

相关内容

最新更新