FileSystem.Seek 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回 Long
,它指定使用 FileOpen
函数打开的文件中的当前读/写位置;或设置使用 FileOpen
函数打开的文件中的下一个读/写操作的位置。 相比 Seek
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
重载
Seek(Int32) |
返回 |
Seek(Int32, Int64) |
返回 |
Seek(Int32)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
返回 Long
,它指定使用 FileOpen
函数打开的文件中的当前读/写位置;或设置使用 FileOpen
函数打开的文件中的下一个读/写操作的位置。 相比 Seek
,My
功能可使文件 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
。
返回
一个 Long
,它指定使用 FileOpen
函数打开的文件中的当前读/写位置;或设置使用 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,依此以类比。 |
另请参阅
- FileGet
- Loc(Int32)
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- IOException
- 从文件读取 (Visual Basic)
- 写入文件 (Visual Basic)
适用于
Seek(Int32, Int64)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
返回 Long
,它指定使用 FileOpen
函数打开的文件中的当前读/写位置;或设置使用 FileOpen
函数打开的文件中的下一个读/写操作的位置。 相比 Seek
,My
功能可使文件 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 范围内(包括 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,依此以类比。 |
另请参阅
- FileGet
- Loc(Int32)
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- FilePut
- IOException
- 从文件读取 (Visual Basic)
- 写入文件 (Visual Basic)