共用方式為


FileSystem.Seek 方法

定義

傳回指定使用 Long 函式開啟的檔案中目前讀取/寫入位置的 FileOpen,或設定使用 FileOpen 函式開啟的檔案中下一個讀取/寫入作業的位置。 相較於 SeekMy 功能可提升檔案 I/O 作業的產能和效能。 如需詳細資訊,請參閱FileSystem

多載

Seek(Int32)

傳回指定使用 Long 函式開啟的檔案中目前讀取/寫入位置的 FileOpen,或設定使用 FileOpen 函式開啟的檔案中下一個讀取/寫入作業的位置。 相較於 SeekMy 功能可提升檔案 I/O 作業的產能和效能。 如需詳細資訊,請參閱FileSystem

Seek(Int32, Int64)

傳回指定使用 Long 函式開啟的檔案中目前讀取/寫入位置的 FileOpen,或設定使用 FileOpen 函式開啟的檔案中下一個讀取/寫入作業的位置。 相較於 SeekMy 功能可提升檔案 I/O 作業的產能和效能。 如需詳細資訊,請參閱FileSystem

Seek(Int32)

來源:
FileSystem.vb
來源:
FileSystem.vb
來源:
FileSystem.vb

傳回指定使用 Long 函式開啟的檔案中目前讀取/寫入位置的 FileOpen,或設定使用 FileOpen 函式開啟的檔案中下一個讀取/寫入作業的位置。 相較於 SeekMy 功能可提升檔案 I/O 作業的產能和效能。 如需詳細資訊,請參閱FileSystem

public:
 static long Seek(int FileNumber);
public static long Seek (int FileNumber);
static member Seek : int -> int64
Public Function Seek (FileNumber As Integer) As Long

參數

FileNumber
Int32

必要。 包含有效檔案編號的 Integer

傳回

指定使用 FileOpen 函式開啟的檔案中目前讀取/寫入位置的 Long,或設定使用 FileOpen 函式開啟之檔案中下一個讀取/寫入作業的位置。

例外狀況

檔案模式無效。

範例

這個範例會使用函 Seek 式傳回目前的檔案位置。 此範例假設 TestFile 是包含 結構 Record記錄的檔案。

Structure Record   ' Define user-defined type.
    Dim ID As Integer
    Dim Name As String
End Structure

針對以 Random 模式開啟的檔案, Seek 傳回下一筆記錄的數目。

FileOpen(1, "TESTFILE", OpenMode.Random)
Do While Not EOF(1)
    WriteLine(1, Seek(1))   ' Write record number.
    FileGet(1, MyRecord, -1)   ' Read next record.
Loop
FileClose(1)

如果是以模式以外的 Random 模式開啟的檔案, Seek 會傳回下一個作業發生的位元組位置。 假設 TestFile 是包含數行文字的檔案。

' Report character position at beginning of each line.
Dim TextLine As String
FileOpen(1, "TESTFILE", OpenMode.Input)   ' Open file for reading.
While Not EOF(1)
    ' Read next line.
    TextLine = LineInput(1)
    ' Position of next line.
    MsgBox(Seek(1))
End While
FileClose(1)

這個範例會使用 函 Seek 式來設定檔案中下一個讀取或寫入的位置。

如果是以模式以外的 Random 模式開啟的檔案, Seek 請設定下一個作業發生的位元組位置。 假設 TestFile 是包含數行文字的檔案。

Dim someText As String = "This is a test string."
' Open file for output.
FileOpen(1, "TESTFILE", OpenMode.Input)
' Move to the third character.
Seek(1, 3)
Input(1, someText)
Console.WriteLine(someText)
FileClose(1)

備註

Seek 會傳回介於 1 到 2,147,483,647 (相當於 2^31 - 1) 的值,包含。

下列描述每個檔案存取模式的傳回值:

模式 傳回值
Random 讀取或寫入下一筆記錄的數目
Binary, Input, Output, Append 發生下一個作業的位元組位置。 檔案中的第一個字節位於位置 1、第二個字節位於位置 2 等等。

另請參閱

適用於

Seek(Int32, Int64)

來源:
FileSystem.vb
來源:
FileSystem.vb
來源:
FileSystem.vb

傳回指定使用 Long 函式開啟的檔案中目前讀取/寫入位置的 FileOpen,或設定使用 FileOpen 函式開啟的檔案中下一個讀取/寫入作業的位置。 相較於 SeekMy 功能可提升檔案 I/O 作業的產能和效能。 如需詳細資訊,請參閱FileSystem

public:
 static void Seek(int FileNumber, long Position);
public static void Seek (int FileNumber, long Position);
static member Seek : int * int64 -> unit
Public Sub Seek (FileNumber As Integer, Position As Long)

參數

FileNumber
Int32

必要。 包含有效檔案編號的 Integer

Position
Int64

必要。 在 1-2,147,483,647 範圍之間的數字 (包括頭尾),表示應該發生下一個讀取/寫入作業的位置。

例外狀況

檔案模式無效。

範例

這個範例會使用函 Seek 式傳回目前的檔案位置。 此範例假設 TestFile 是包含 結構 Record記錄的檔案。

Structure Record   ' Define user-defined type.
    Dim ID As Integer
    Dim Name As String
End Structure

針對以 Random 模式開啟的檔案, Seek 傳回下一筆記錄的數目。

FileOpen(1, "TESTFILE", OpenMode.Random)
Do While Not EOF(1)
    WriteLine(1, Seek(1))   ' Write record number.
    FileGet(1, MyRecord, -1)   ' Read next record.
Loop
FileClose(1)

如果是以模式以外的 Random 模式開啟的檔案, Seek 會傳回下一個作業發生的位元組位置。 假設 TestFile 是包含數行文字的檔案。

' Report character position at beginning of each line.
Dim TextLine As String
FileOpen(1, "TESTFILE", OpenMode.Input)   ' Open file for reading.
While Not EOF(1)
    ' Read next line.
    TextLine = LineInput(1)
    ' Position of next line.
    MsgBox(Seek(1))
End While
FileClose(1)

這個範例會使用 函 Seek 式來設定檔案中下一個讀取或寫入的位置。

如果是以模式以外的 Random 模式開啟的檔案, Seek 請設定下一個作業發生的位元組位置。 假設 TestFile 是包含數行文字的檔案。

Dim someText As String = "This is a test string."
' Open file for output.
FileOpen(1, "TESTFILE", OpenMode.Input)
' Move to the third character.
Seek(1, 3)
Input(1, someText)
Console.WriteLine(someText)
FileClose(1)

備註

Seek 會傳回介於 1 到 2,147,483,647 (相當於 2^31 - 1) 的值,包含。

下列描述每個檔案存取模式的傳回值:

模式 傳回值
Random 讀取或寫入下一筆記錄的數目
Binary, Input, Output, Append 發生下一個作業的位元組位置。 檔案中的第一個字節位於位置 1、第二個字節位於位置 2 等等。

另請參閱

適用於