Name

fistream — ファイルからのデータ入力ストリーム

Description

ローカルホスト上のファイルシステムにある ファイルからの入力を扱うクラスである. (基本的にASCIIのテキストファイルを扱うことを想定している.)

例えば,あるファイルから一行ずつデータを読み込んで処理する場合は 以下のようなコードを用いればよい.

local $fin = fistream("input.txt");
while ($fin.ready()) {
    local $line = $fin.readline();

    # 以下$lineを使用した処理
    # ...
}
$fin.close();

Method

close

void close();

ストリームを閉じて関連するシステムリソースを開放する. すでに閉じられたストリームを閉じた場合など, エラーが起こっても無視され,例外は発生しない.

delim

string delim();

readline()メソッドで使用される, 区切り文字の集合からなる文字列を返す.

まだopenされていないストリームや,すでにcloseされているストリーム等, 無効なストリームに対して呼び出した場合は実行時例外が発生する.

delim

void delim( string arg );

readline()メソッドで使用される, 区切り文字を設定する. 指定した文字列が全体として区切り文字として使用されるわけではなく, 区切り文字の集合を指定する点に注意.

まだopenされていないストリームや,すでにcloseされているストリーム等, 無効なストリームに対して呼び出した場合は実行時例外が発生する.

lineno

integer lineno();

ストリームがreadline()メソッドで読み込んだ 行の番号を返す.

まだopenされていないストリームや,すでにcloseされているストリーム等, 無効なストリームに対して呼び出した場合は実行時例外が発生する.

lineno

void lineno( integer arg );

現在の行番号をargに設定する.

まだopenされていないストリームや,すでにcloseされているストリーム等, 無効なストリームに対して呼び出した場合は実行時例外が発生する.

open

void open( string arg );

パス名argで指定されたファイルを開く. ファイルが存在しないなどのエラーが起こった場合は,例外が発生する.

readline

string readline();

ストリームからデータを区切り文字まで読み込み, その区切り文字を含む内容を,文字列オブジェクトとして返す. 区切り文字は,デフォルトでは“\n”が用いられるが, delim()メソッドで変更できる.

まだopenされていないストリームや,すでにcloseされているストリーム等, 無効なストリームに対して呼び出した場合は実行時例外が発生する.

ready

bool ready();

入力ストリームからデータが読み込める場合 (ストリームがまだファイルの終端に達していない場合)に trueが返される.

まだopenされていないストリームや,すでにcloseされているストリーム等, 無効なストリームに対して呼び出した場合は実行時例外が発生する.

skip

integer skip( integer arg );

指定したバイト数だけ入力ストリームを前方に読み飛ばす. このメソッドで,後方にストリームを戻すことはできない.

まだopenされていないストリームや,すでにcloseされているストリーム等, 無効なストリームに対して呼び出した場合は実行時例外が発生する.

Class method

fistream

object fistream();

コンストラクター. Openされていないファイル入力ストリームを作成して返す.

fistream

object fistream( string arg );

コンストラクター. 入力ストリームを作成して, argで示されたファイルをopenする. ファイルが存在しない等の場合には例外が発生する.