2

在我的 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

在某些系统中,它工作正常,但在其他一些工作站中,它显示主题中提到的错误。

是什么限制了对此处文件的访问?谁可以帮我这个事?

4

1 回答 1

2

是什么限制了对此处文件的访问?

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

我建议您始终将IDisposable资源包装在Using语句中以确保正确处理(即使在块内引发异常):

Using filestream As New StreamWriter(Inifile, True, System.Text.Encoding.UTF8)
    ' ... use the filestream here to write to the file
End Using 
于 2012-06-14T11:08:41.020 回答