进程无法访问该文件,因为另一进程正在使用它。-在vb.net中写入文件时出错

进程无法访问该文件,因为另一进程正在使用它。-在vb.net中写入文件时出错,vb.net,Vb.net,在我的vb.net代码中,我使用streamwriter写入一个作为表单输入的文件 Dim strContents As String Dim objReader As StreamReader Try objReader = New StreamReader("C:\test.txt") strContents = objReader.ReadToEnd() objReader.Clos

在我的vb.net代码中,我使用streamwriter写入一个作为表单输入的文件

 Dim strContents As String
        Dim objReader As StreamReader
        Try

            objReader = New StreamReader("C:\test.txt")
            strContents = objReader.ReadToEnd()
            objReader.Close()

        Catch Ex As Exception

        End Try
        Dim Contents As String
        Dim bAns As Boolean = False
        Dim objWriter As StreamWriter
        Dim FileStream As System.IO.FileStream
        Try

            FileStream = New FileStream("C:\test.txt", FileMode.Open, FileAccess.ReadWrite)

            objWriter = New StreamWriter("C:\test.txt")
            objWriter.Write("fdgdfgdjkljljklg")
            objWriter.Close()
            bAns = True
        Catch Ex As Exception


        End Try
在某些系统中,其工作正常,但在某些其他工作站中,其显示的错误与主题中提到的相同

是什么限制了对该文件的访问? 有人能帮我吗

是什么限制了对该文件的访问

事实上,您尚未处理流,因此进程正在锁定文件。
StreamWriter
持有文件的非托管句柄。如果不处理此句柄,其他线程/进程将无法打开该文件

我建议您始终在语句中包装资源,以确保正确的处理(即使在块中抛出异常):


谢谢你的回复。很遗憾,你提供的代码也不起作用。如果真的有任何错误,它是如何在某些系统中工作的,而不是在其他系统中工作的?某些进程打开了文件。它可能是您自己的代码,也可能是其他代码。调查,找出它打开的流程以及原因。随机示例:可能用户在Word中打开了文件。对不起,如果没有更多的细节,就无法提供更多的帮助。
Using filestream As New StreamWriter(Inifile, True, System.Text.Encoding.UTF8)
    ' ... use the filestream here to write to the file
End Using