共用方式為


FileSystem.FileOpen 方法

開啟要當做輸入或輸出的檔案。My 功能提供比 FileOpen 更強的檔案 I/O 作業產能和效能。如需詳細資訊,請參閱 My.Computer.FileSystem 物件

命名空間: Microsoft.VisualBasic
組件: Microsoft.VisualBasic (在 microsoft.visualbasic.dll 中)

語法

'宣告
Public Shared Sub FileOpen ( _
    FileNumber As Integer, _
    FileName As String, _
    Mode As OpenMode, _
    <OptionalAttribute> Optional Access As OpenAccess = OpenAccess.Default, _
    <OptionalAttribute> Optional Share As OpenShare = OpenShare.Default, _
    <OptionalAttribute> Optional RecordLength As Integer = -1 _
)
'用途
Dim FileNumber As Integer
Dim FileName As String
Dim Mode As OpenMode
Dim Access As OpenAccess
Dim Share As OpenShare
Dim RecordLength As Integer

FileSystem.FileOpen(FileNumber, FileName, Mode, Access, Share, RecordLength)
public static void FileOpen (
    int FileNumber,
    string FileName,
    OpenMode Mode,
    [OptionalAttribute] OpenAccess Access,
    [OptionalAttribute] OpenShare Share,
    [OptionalAttribute] int RecordLength
)
public:
static void FileOpen (
    int FileNumber, 
    String^ FileName, 
    OpenMode Mode, 
    [OptionalAttribute] OpenAccess Access, 
    [OptionalAttribute] OpenShare Share, 
    [OptionalAttribute] int RecordLength
)
public static void FileOpen (
    int FileNumber, 
    String FileName, 
    OpenMode Mode, 
    /** @attribute OptionalAttribute() */ OpenAccess Access, 
    /** @attribute OptionalAttribute() */ OpenShare Share, 
    /** @attribute OptionalAttribute() */ int RecordLength
)
public static function FileOpen (
    FileNumber : int, 
    FileName : String, 
    Mode : OpenMode, 
    Access : OpenAccess, 
    Share : OpenShare, 
    RecordLength : int
)

參數

  • FileNumber
    必要項。任何有效的檔案號碼。使用 FreeFile 函式取得下一個可用的檔案編號。
  • FileName
    必要項。String 運算式,指定檔名,也可能包括目錄或資料夾及磁碟機。
  • Mode
    必要項。指定檔案模式的列舉型別:AppendBinaryInputOutputRandom (如需詳細資訊,請參閱 OpenMode 列舉型別)。
  • Access
    選擇項。指定開啟檔案上允許的作業之列舉型別:ReadWriteReadWrite。預設值為 ReadWrite (如需詳細資訊,請參閱 OpenAccess 列舉型別)。
  • Share
    選擇項。指定開啟檔案上其他處理序不允許的作業之列舉型別:SharedLock ReadLock WriteLock Read Write。預設值為 Lock Read Write。(如需詳細資訊,請參閱 OpenShare 列舉型別)。
  • RecordLength
    選擇項。數字小於或等於 32,767 (位元組)。對於為隨機存取開啟的檔案而言,這個值是資料錄長度。對於循序檔案而言,這個值是緩衝的字元數。

備註

如需詳細資訊,請參閱 Visual Basic 的主題 FileOpen 函式

提供 FileOpen 函式的目的是為了保有回溯相容性 (Backward Compatibility),且可能會影響效能。對於非舊版應用程式,My.Computer.FileSystem 物件會提供更好的效能。如需詳細資訊,請參閱使用 Visual Basic 存取檔案

您必須先開啟檔案,才能讓任何 I/O 作業在此檔案上執行作業。FileOpen 可針對該檔案的 I/O 配置緩衝區,並判斷要用於該緩衝區的存取模式。

Security note安全性注意事項

當寫入檔案時,如果所嘗試寫入的檔案不存在,應用程式可能需要建立檔案。若要這樣做的話,應用程式需要檔案建立所在之目錄的使用權限。但是,如果 FileName 指定的檔案確實存在,則應用程式僅需要該檔案本身的 Write 使用權限。為了要增強安全性,請盡可能在部署期間建立檔案,並將 Write 使用權限只授與該檔案,而非授與整個目錄。為了增強安全性,請將資料寫入使用者目錄,而不要寫入根目錄或 [Program Files] 目錄。

使用 FreeFile() 函式可以找出要開啟的通道。

Security note安全性注意事項

FileOpen 函式需要 FileIOPermissionAccess 列舉型別中的 Read 存取,這可能會影響此函式在部分信任狀況下的執行。如需詳細資訊,請參閱 FileIOPermissionAccess 列舉型別和要求使用權限

範例

此範例將說明 FileOpen 函式的各種用法,以啟用輸入及輸出到檔案中。

下列程式碼會在 Input 模式下開啟 TestFile 檔案。

FileOpen(1, "TESTFILE", OpenMode.Input)
' Close before reopening in another mode.
FileClose(1)

此範例僅針對寫入作業在 Binary 模式下開啟檔案。

FileOpen(1, "TESTFILE", OpenMode.Binary,OpenAccess.Write)
' Close before reopening in another mode.
FileClose(1)

下列範例會在 Random 模式下開啟檔案。此檔案包含 Person 結構的資料錄。

Structure Person
    <VBFixedString(30)> Dim Name As String
    Dim ID As Integer
End Structure
Public Sub ExampleMethod()
    ' Count 30 for the string, plus 4 for the integer.
    FileOpen(1, "TESTFILE", OpenMode.Random, , , 34)
    ' Close before reopening in another mode.
    FileClose(1)
End Sub

此程式碼範例會在 Output 模式下開啟檔案;任何處理序都可以讀取或寫入檔案。

FileOpen(1, "TESTFILE", OpenMode.Output, OpenAccess.Default, OpenShare.Shared)
' Close before reopening in another mode.
FileClose(1)

此程式碼範例會在 Binary 模式下開啟檔案;其他處理序不能讀取檔案。

FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Read, _
   OpenShare.LockRead)

平台

Windows 98、 Windows 2000 SP4、 Windows Millennium Edition、 Windows Server 2003、 Windows XP Media Center Edition、 Windows XP Professional x64 Edition、 Windows XP SP2、 Windows XP Starter Edition

.NET Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱系統需求一節的內容。

版本資訊

.NET Framework

支援版本:2.0、1.1、1.0

請參閱

參考

FileSystem 類別
FileSystem 成員
Microsoft.VisualBasic 命名空間

其他資源

FileOpen 函式
FileClose 函式
FreeFile 函式
在 Visual Basic 中讀取檔案
在 Visual Basic 中寫入檔案