在我的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
在某些系统中,它的工作正常,但在其他一些工作站中,它显示了主题中提到的错误。
这里限制了对文件的访问权限了什么? 有人可以帮我吗?
答案 0 :(得分:2)
这里限制了对文件的访问权限了吗?
您尚未处理流,因此进程正在锁定文件。 StreamWriter
持有文件的非托管句柄。如果您不处理此句柄,则其他线程/进程无法打开该文件。
我建议你始终在IDisposable
语句中包含Using
资源,以确保正确处理(即使在块内抛出异常):
Using filestream As New StreamWriter(Inifile, True, System.Text.Encoding.UTF8)
' ... use the filestream here to write to the file
End Using