次の方法で共有


FileSystem.Seek メソッド

定義

Long 関数を使用して開いたファイル内の現在の読み込み位置または書き込み位置を示す FileOpen を返します。また、FileOpen 関数で開いたファイルの、次に読み込みまたは書き込みを行う位置を設定します。 My 機能を使用すると、Seek よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。

オーバーロード

Seek(Int32)

Long 関数を使用して開いたファイル内の現在の読み込み位置または書き込み位置を示す FileOpen を返します。また、FileOpen 関数で開いたファイルの、次に読み込みまたは書き込みを行う位置を設定します。 My 機能を使用すると、Seek よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。

Seek(Int32, Int64)

Long 関数を使用して開いたファイル内の現在の読み込み位置または書き込み位置を示す FileOpen を返します。また、FileOpen 関数で開いたファイルの、次に読み込みまたは書き込みを行う位置を設定します。 My 機能を使用すると、Seek よりもファイル I/O 処理の生産性とパフォーマンスが向上します。 詳細については、「FileSystem」を参照してください。

Seek(Int32)

ソース:
FileSystem.vb
ソース:
FileSystem.vb
ソース:
FileSystem.vb

Long 関数を使用して開いたファイル内の現在の読み込み位置または書き込み位置を示す FileOpen を返します。また、FileOpen 関数で開いたファイルの、次に読み込みまたは書き込みを行う位置を設定します。 My 機能を使用すると、Seek よりもファイル 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 番目のバイトは位置 2 などです。

こちらもご覧ください

適用対象

Seek(Int32, Int64)

ソース:
FileSystem.vb
ソース:
FileSystem.vb
ソース:
FileSystem.vb

Long 関数を使用して開いたファイル内の現在の読み込み位置または書き込み位置を示す FileOpen を返します。また、FileOpen 関数で開いたファイルの、次に読み込みまたは書き込みを行う位置を設定します。 My 機能を使用すると、Seek よりもファイル 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 番目のバイトは位置 2 などです。

こちらもご覧ください

適用対象