进程无法访问该文件,因为另一进程正在使用它。-在vb.net中写入文件时出错
在我的vb.net代码中,我使用streamwriter写入一个作为表单输入的文件进程无法访问该文件,因为另一进程正在使用它。-在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
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