Fileオブジェクト

提供: AutoHotkey Wiki
移動: 案内検索

AHKL [AHK_L 42+]: ファイル入出力のインターフェイスを提供する。FileOpen() を利用することでこの型のオブジェクトを得ることが出来る。

Read メソッド[編集]

ファイルから指定文字数を読み込む。また、ファイルポインタをその分だけ進める。

String := File.Read(Characters)
Characters 読み込む文字数
戻り値
指定文字数分の文字列

Write メソッド[編集]

ファイルに文字列を書き込む。

File.Write(String)
String 書き込む文字列
戻り値
実際に書き込まれたバイト数(文字数でない)を返す。

ReadLine メソッド[編集]

ファイルから1行読み込む。また、ファイルポインタをその分だけ進める。

Line := File.ReadLine()
戻り値
1行分の文字列。ファイルの構造やオープン時のEOLフラグの指定のしかたによっては行末に改行(LF, CRLF, CR)が残る可能性がある。

WriteLine メソッド[編集]

指定の文字列と行末オプションの示す改行(`n または `r`n。FileOpenでのフラグ設定による)をファイルに書き込む。なお、ファイルポインタはその分進む。

Line := File.WriteLine([String])
String 書き込む文字列。省略時は改行のみとなる。
戻り値
実際に書き込まれたバイト数(文字数でない)を返す。

ReadNum メソッド[編集]

ファイルから数値を読み込み、ファイルポインタをその分だけ進める。

Num := File.ReadNumType()
NumType 数値の種類はメソッド名の一部となっている。以下から選択する:
UInt, Int, Int64, Short, UShort, Char, UChar, Double, Float
戻り値
数値

WriteNum メソッド[編集]

ファイルから数値を書き込み、ファイルポインタをその分だけ進める。

Num := File.WriteNumType(Num)
NumType 数値の種類はメソッド名の一部となっている。以下から選択する:
UInt, Int, Int64, Short, UShort, Char, UChar, Double, Float
Num 書き込む数値
戻り値
実際に書き込まれたバイト数。(例: WriteUInt の場合 4 が返れば成功)

RawRead メソッド[編集]

ファイルからバイナリでデータを取得する。呼び出し時には十分な量のバッファを準備すること。(VarSetCapaciryを参照のこと)

File.RawRead(VarOrAddress, Bytes)
VarOrAddress 読み取ったデータを格納する変数名またはメモリアドレスを指定する。利用法はNumGetに近い。
Bytes 読み込むバイト数の最大値。
戻り値
実際に読み込まれたバイト数。

RawWrite メソッド[編集]

ファイルにバイナリデータを書き込む。

File.RawWrite(VarOrAddress, Bytes)
VarOrAddress 書き込むデータのある変数名かメモリアドレスを指定する。利用法はNumPutに近い。
Bytes 書き込むバイト数。
戻り値
実際に書き込まれたバイト数。

Seek メソッド[編集]

ファイルポインタを移動する。

File.Seek(Distance, [, Origin = 0])
File.Position := Distance
File.Pos := Distance
Distance 移動するバイト数。負数を指定した場合はファイル先頭方向となる。
Origin 以下のうちどこを起点としてポインタを移動するかを指定する。
  • 0 (SEEK_SET) : ファイルの先頭
  • 1 (SEEK_CUR) : 現在のファイルポインタ
  • 2 (SEEK_END) : ファイルの終端

省略した場合のOriginは、Distanceが負数のときは SEEK_END、そうでないときは SEEK_CUR とみなす。

戻り値
非0の場合成功。0の場合失敗。

Tell メソッド / Pos プロパティ / Position プロパティ[編集]

Pos := File.Tell()
Pos := File.Position
Pos := File.Pos
戻り値
現在のファイルポインタの位置を返す。

Length プロパティ[編集]

ファイルサイズを取得/設定する。

FileSize := File.Length
File.Length := NewSize
NewSize リサイズする大きさをバイトで指定。
戻り値
ファイルサイズを返す。

AtEOF プロパティ[編集]

IsAtEOF := File.AtEOF
戻り値
ポインタがファイルの終端にある場合は非ゼロを返す。そうでない場合は 0 を返す。

Close メソッド[編集]

ファイルを閉じる。このときキャッシュに有るデータをフラッシュされ、共有ロックも解除される。ファイルオブジェクトが解放される時点でファイルはクローズされるが、出来る限り早くクローズすることが望ましい。

File.Close()

引数・戻り値ともに無し

Encoding プロパティ[編集]

[L60+] ファイルオブジェクトのエンコーディングを参照・設定する。このプロパティでエンコーディングを変更した場合は文字の読み取り位置を補正するためシークを行う必要がある。

Encoding := File.Encoding
File.Encoding := Encoding

__Handle プロパティ[編集]

File.__Handle
戻り値
Windows の CreateFile API で作成したものとおなじファイルハンドルを返す。DllCallで利用することが出来る。