Filemode不是io的成员

时间:2013-10-08 13:21:45

标签: asp.net vb.net .net

我正在尝试使用下面的代码来尝试关闭文件流,因为即使在我处理它仍在服务器上使用它之后我也会收到错误。所以我想可能会循环它直到它关闭,因为它不会在1次尝试后关闭。无论如何,我收到的错误是FileMode,File Access,FileShare不是IO的成员。?

Dim thisFileInUse As Boolean = False
    Dim fs As System.IO.FileStream

    If System.IO.File.Exists(sFile) Then
        Try
            fs = System.IO.File.Open(sFile, io.FileMode.Open, io.FileAccess.Write, io.FileShare.ReadWrite)
            fs.Close()
            fs.Dispose()
        Catch
            Try
                fs.Close()
                fs.Dispose()
            Catch

            End Try

            thisFileInUse = True
        End Try
    End If
    Return thisFileInUse

2 个答案:

答案 0 :(得分:1)

试试这个:

Imports System.IO


Dim thisFileInUse As Boolean = False
Dim fs As FileStream

If File.Exists(sFile) Then
    Try
        fs = File.Open(sFile, FileMode.Open, FileAccess.Write, FileShare.ReadWrite)
 ...

System.IO是命名空间名称,如果您导入它,则可以避免不得不一遍又一遍地输入它。

答案 1 :(得分:1)

使用Finally和正确的命名空间System.IO

Imports System.IO
' ....

Public Shared Function IsFileInUse(sFile As String) As Boolean
    Dim stream As FileStream = Nothing
    Dim isInUse As Boolean = False
    Try
        stream = File.Open(sFile, FileMode.Open, FileAccess.ReadWrite, FileShare.None)
    Catch generatedExceptionName As IOException
        isInUse = True
    Finally
        If stream IsNot Nothing Then
            stream.Close()
        End If
    End Try
    Return isInUse
End Function
相关问题