くいなちゃん2021年04月17日


プログラミング言語Kuin」のAPIリファレンスページです。

 file@Encoding

名前説明
%utf8UTF-8
%utf16leUTF-16LE

 file@Origin

名前説明
%cur現在位置
%headファイルの先頭
%tailファイルの末尾を1byte超えた地点。 つまり、ファイルの先頭からファイルサイズ分を足した地点

 file@Reader

ファイルをストリーミングで読み込むクラスです。
インスタンスは#演算子ではなく、file@makeReaderで作成してください。

 file@Reader.delimiter



読み込み時の区切り文字を設定するメソッドです。

func delimiter(delimiters: []char)

delimiters区切り文字を格納した配列
計算量:
file@Readerクラスのインスタンスが生成されたときに、区切り文字は改行と半角スペースとカンマ([' ', ' ', ','])に設定されています。

 file@Reader.fileSize




func fileSize(): int

戻り値ファイルサイズ[byte]
計算量:
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A

 file@Reader.fin



ファイル読み込みを閉じるメソッドです。

func fin()

計算量:
既にファイルが閉じられているとき、このメソッドは何もしません。
ファイルはfile@Readerクラスのインスタンスが解放されるときに自動で閉じられますが、解放のタイミングは環境によって異なるため、このメソッドにより明示的に閉じることを推奨します。

 file@Reader.getPos



読み込み位置を取得するメソッドです。

func getPos(): int

戻り値読み込み位置[byte]
計算量:
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A

 file@Reader.read



データをバイナリで読み込むメソッドです。

func read(size: int): []bit8

size読み込むデータのサイズ[byte]
戻り値読み込んだデータ。 読み込めなかったときはnull
計算量: sizeをとして、
sizeで指定した大きさのデータが読み込めなかった場合には、nullが返ります。
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A

 file@Reader.readChar



データを文字として読み込むメソッドです。

func readChar(): char

戻り値読み込んだデータ
計算量: 読み込むデータの長さをとして、
読み込み位置から区切り文字を読み飛ばして、区切り文字以外のデータを文字として読み込んだあと、再度区切り文字を読み飛ばしてからメソッドを抜けます。
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A
読み込み位置にcharのデータが存在しないdbgおよびrls0xE9170008

 file@Reader.readFloat



データを小数として読み込むメソッドです。

func readFloat(): float

戻り値読み込んだデータ
計算量: 読み込むデータの長さをとして、
読み込み位置から区切り文字を読み飛ばして、区切り文字以外のデータを小数として読み込んだあと、再度区切り文字を読み飛ばしてからメソッドを抜けます。
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A
読み込み位置にfloatのデータが存在しないdbgおよびrls0xE9170008

 file@Reader.readInt



データを整数として読み込むメソッドです。

func readInt(): int

戻り値読み込んだデータ
計算量: 読み込むデータの長さをとして、
読み込み位置から区切り文字を読み飛ばして、区切り文字以外のデータを整数として読み込んだあと、再度区切り文字を読み飛ばしてからメソッドを抜けます。
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A
読み込み位置にintのデータが存在しないdbgおよびrls0xE9170008

 file@Reader.readLetter



区切り文字を無視して1文字読み込むメソッドです。

func readLetter(): char

戻り値読み込んだデータ。読み込めなかったときは'uFFFF'
計算量:
このメソッドは、区切り文字の仕組みを使わず、1文字ずつ厳密に処理したい場合に使います。
読み込めるデータが存在しなかったとき、0xFFFFの文字コード('uFFFF')が返ります。
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A

 file@Reader.readLine



区切り文字を無視して1行読み込むメソッドです。

func readLine(): []char

戻り値読み込んだデータ。 読み込めなかったときはnull
計算量: 読み込むデータの長さをとして、
このメソッドは、区切り文字の仕組みを使わず、1行ずつ厳密に処理したい場合に使います。
読み込めるデータが存在しなかったとき、nullが返ります。
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A

 file@Reader.readPart



データをバイナリで指定バッファの一部へ読み込むメソッドです。

func readPart(buf: []bit8, start: int, size: int): bool

buf格納するバッファ
start格納開始位置。 0ならbufの0番目から格納する
size読み込むデータのサイズ[byte]
戻り値読み込みに成功したらtrue、失敗したらfalse
計算量: sizeをとして、
sizeで指定した大きさのデータが読み込めなかった場合には、falseが返ります。
発生条件ビルド例外コード
startやsizeが0より小さい、もしくはstart+sizeがbufのサイズを超えるdbgのみ0xE9170006
ファイルが閉じられているdbgのみ0xE917000A

 file@Reader.readStr



データを文字列として読み込むメソッドです。

func readStr(): []char

戻り値読み込んだデータ
計算量: 読み込むデータの長さをとして、
読み込み位置から区切り文字を読み飛ばして、区切り文字以外のデータを文字列として読み込んだあと、再度区切り文字を読み飛ばしてからメソッドを抜けます。
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A
読み込み位置に[]charのデータが存在しないdbgおよびrls0xE9170008

 file@Reader.setPos



読み込み位置を設定するメソッドです。

func setPos(origin: file@Origin, pos: int)

origin読み込み位置の基点
pos読み込み位置[byte]
計算量:
originを基点として、posの値だけ増減させた位置へ移動します。 例えば、現在の読み込み位置から4byte戻す場合はoriginに「%cur」、posに「-4」を渡します。
ファイルの終端よりも後ろに移動した場合は例外は発生しません。 その位置でデータを読み込んだ場合はファイル終端と同等に扱われます。
発生条件ビルド例外コード
originが不正dbgのみ0xE9170006
ファイルの先頭よりも前へ移動したdbgのみ0xE9170006
ファイルが閉じられているdbgのみ0xE917000A

 file@Reader.term



ファイル終端を超えているかどうかを取得するメソッドです。

func term(): bool

戻り値読み込み位置がファイル終端を超えているならtrue、まだ読み込めるデータが残っているならfalse
計算量:
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A

 file@Writer

ファイルをストリーミングで書き込むクラスです。
インスタンスは#演算子ではなく、file@makeWriterで作成してください。

 file@Writer.fileSize




func fileSize(): int

戻り値ファイルサイズ[byte]
計算量:
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A

 file@Writer.fin



ファイル書き込みを閉じるメソッドです。

func fin()

計算量:
既にファイルが閉じられているとき、このメソッドは何もしません。
ファイルはfile@Writerクラスのインスタンスが解放されるときに自動で閉じられますが、解放のタイミングは環境によって異なるため、このメソッドにより明示的に閉じることを推奨します。

 file@Writer.flush



書き込みをフラッシュするメソッドです。

func flush()

計算量:
書き込みをしたデータはいったん書き込みバッファに蓄えられ、ファイルには直ちに書き込まれません。 書き込み中のファイルを別で監視している場合など、直ちに書き込まれてほしいときにはこのメソッドを使います。 finメソッドなどでファイル書き込みを閉じても直ちに書き込まれます。

 file@Writer.getPos



書き込み位置を取得するメソッドです。

func getPos(): int

戻り値書き込み位置[byte]
計算量:
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A

 file@Writer.setPos



書き込み位置を設定するメソッドです。

func setPos(origin: file@Origin, pos: int)

origin書き込み位置の基点
pos書き込み位置[byte]
計算量:
originを基点として、posの値だけ増減させた位置へ移動します。 例えば、現在の書き込み位置から4byte戻す場合はoriginに「%cur」、posに「-4」を渡します。
ファイルの終端よりも後ろに移動した場合は例外は発生しません。 その位置でデータを書き込んだ場合は、ファイル終端からそこまでの隙間が自動的に0で埋められます。
発生条件ビルド例外コード
originが不正dbgのみ0xE9170006
ファイルの先頭よりも前へ移動したdbgのみ0xE9170006
ファイルが閉じられているdbgのみ0xE917000A

 file@Writer.write



バイナリを書き込むメソッドです。

func write(bin: []bit8)

bin書き込むデータ
計算量: 書き込むデータの長さをとして、
binにnullを渡してはいけません。
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A

 file@Writer.writeChar



文字を書き込むメソッドです。

func writeChar(n: char)

n書き込むデータ
計算量:
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A

 file@Writer.writeFloat



小数を書き込むメソッドです。

func writeFloat(n: float)

n書き込むデータ
計算量: 書き込むデータの長さをとして、
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A

 file@Writer.writeInt



整数を書き込むメソッドです。

func writeInt(n: int)

n書き込むデータ
計算量: 書き込むデータの長さをとして、
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A

 file@Writer.writePart



バイナリを部分的に書き込むメソッドです。

func writePart(bin: []bit8, start: int, size: int)

bin書き込むデータ
start書き込み開始位置
size書き込むサイズ
計算量: 書き込むデータの長さをとして、
binにnullを渡してはいけません。
発生条件ビルド例外コード
startやsizeが0より小さい、もしくはstart+sizeがbinのサイズを超えるdbgのみ0xE9170006
ファイルが閉じられているdbgのみ0xE917000A

 file@Writer.writeStr



文字列を書き込むメソッドです。

func writeStr(n: []char)

n書き込むデータ
計算量: 書き込むデータの長さをとして、
nにnullを渡してはいけません。
自動で改行は行われないため、改行したい場合は「 」を付加してください。
発生条件ビルド例外コード
ファイルが閉じられているdbgのみ0xE917000A

 file@copyDir

ディレクトリをコピーする関数です。

func copyDir(dst: []char, src: []char): bool

dstコピー先のディレクトリのパス
srcコピー元のディレクトリのパス
戻り値コピーに成功したらtrue、失敗したらfalse
中身のサブディレクトリやファイルもすべてコピーされます。
既にコピー先にファイルやディレクトリが存在したら上書きします。
dstやsrcにnullを渡してはいけません。
発生条件ビルド例外コード
dstやsrcが「/」で終わっていないdbgのみ0xE9170006

 file@copyFile

ファイルをコピーする関数です。

func copyFile(dst: []char, src: []char): bool

dstコピー先のファイルのパス
srcコピー元のファイルのパス
戻り値コピーに成功したらtrue、失敗したらfalse
既にコピー先にファイルが存在したら上書きします。
dstやsrcにnullを渡してはいけません。

 file@delDir

ディレクトリを削除する関数です。

func delDir(path: []char): bool

path削除するディレクトリのパス
戻り値削除に成功したらtrue、失敗したらfalse
中身のサブディレクトリやファイルもすべて削除されます。
対象のディレクトリが存在しない場合は何もせずにtrueを返します。
pathにnullを渡してはいけません。
発生条件ビルド例外コード
pathが「/」で終わっていないdbgのみ0xE9170006

 file@delExt

ファイルパスから拡張子を削除する関数です。

func delExt(path: []char): []char

pathファイルパス
戻り値拡張子を削除したファイルパス
計算量: pathの長さをとして、
例えば「"a/b/c.txt"」を渡すと、「"a/b/c"」が返ります。
pathに拡張子が含まれていなかった場合は、path全体が返ります。
pathに「」の文字が含まれていた場合はすべて「/」に置換されて返ります。
pathにnullを渡してはいけません。

 file@delFile

ファイルを削除する関数です。

func delFile(path: []char): bool

path削除するファイルのパス
戻り値削除に成功したらtrue、失敗したらfalse
対象のファイルが存在しない場合は何もせずにtrueを返します。
pathにnullを渡してはいけません。

 file@dir

ファイルパスからディレクトリを抜き出す関数です。

func dir(path: []char): []char

pathファイルパス
戻り値ディレクトリを抜き出したファイルパス
計算量: pathの長さをとして、
例えば「"a/b/c.txt"」を渡すと、「"a/b/"」が返ります。 「"example.txt"」のようにディレクトリ区切り文字を含まないパスを渡すと「"./"」が返ります。
pathに「」の文字が含まれていた場合はすべて「/」に置換されて返ります。
pathにnullを渡してはいけません。

 file@exist

ファイルやディレクトリが存在するかどうかを取得する関数です。

func exist(path: []char): bool

pathファイルやディレクトリのパス
戻り値ファイルやディレクトリが存在したらtrue、しなければfalse
pathにnullを渡してはいけません。

 file@ext

ファイルパスから拡張子を抜き出す関数です。

func ext(path: []char): []char

pathファイルパス
戻り値抜き出した拡張子
計算量: pathの長さをとして、
例えば「"a/b/c.txt"」を渡すと、「"txt"」が返ります。
pathに拡張子が含まれていなかった場合は、空文字列が返ります。
pathにnullを渡してはいけません。

 file@fileName

ファイルパスからファイル名を抜き出す関数です。

func fileName(path: []char): []char

pathファイルパス
戻り値抜き出したファイル名
計算量: pathの長さをとして、
例えば「"a/b/c.txt"」を渡すと、「"c.txt"」が返ります。
pathに「/」で終わるディレクトリパスを渡すと空文字列が返ります。
pathにnullを渡してはいけません。

 file@fileSize

ファイルサイズを取得する関数です。

func fileSize(path: []char): int

pathサイズを取得するファイルのパス
戻り値ファイルサイズ[byte]。読み込みに失敗したら-1
読み込みに失敗したら-1が返ります。
pathにnullを渡してはいけません。

 file@forEach

ファイルやディレクトリを列挙する関数です。

func forEach(path: []char, recursion: bool, callback: func<([]char, bool, kuin@Class): bool>, data: kuin@Class): bool

pathディレクトリのパス
recursionディレクトリを再帰的に走査するならtrue、しないならfalse
callbackコールバック関数。 第3引数にはdataの値が渡る
dataコールバック関数に渡される任意のデータ
戻り値最後まで列挙したらtrue、中断したりエラーが発生したらfalse
計算量: ファイルやディレクトリの数をとして、
callbackにnullを渡してはいけません。 dataにはnullを渡すことができます。
ファイルやディレクトリが見つかるたび、callbackが呼ばれます。
callbackにはpathのディレクトリ自身も渡ります。
recursionがtrueの場合、ディレクトリを再帰的に走査してすべてのファイルとディレクトリを列挙します。 recursionがfalseの場合、path内の階層にあるファイルだけを列挙して抜けます。
pathにnullを渡してはいけません。

callback

戻り値をfalseにすると、それ以降の走査が打ち切られてfile@forEachを抜けます。

func callback(path: []char, dir: bool, data: kuin@Class): bool

pathファイルやディレクトリのパス
dirディレクトリならtrue、ファイルならfalse
datafile@forEachのdataに渡したデータ
戻り値走査を続行するならtrue、中断するならfalse

 file@fullPath

パスをフルパスに変換する関数です。

func fullPath(path: []char): []char

pathファイルパスもしくはディレクトリパス
戻り値フルパス
計算量: pathの長さをとして、
相対パスがありえるパスを、絶対パスに揃えたいときに使います。
パス中の「/./」や「/../」は解決され、戻り値には含まれません。
pathにnullを渡してはいけません。

 file@getCurDir

カレントディレクトリを取得する関数です。

func getCurDir(): []char

戻り値カレントディレクトリのパス。 失敗するとnull
計算量: パスの長さをとして、
通常はnullは返りませんが、カレントディレクトリが不正な状態になっているときにnullが返ることがあります。

 file@makeDir

「a/b/c/」としたとき、「b」と「c」のディレクトリが存在しない場合には「b」も「c」も作成されます。

func makeDir(path: []char): bool

path作成するディレクトリのパス
戻り値作成に成功したらtrue、失敗したらfalse
ディレクトリが既に存在していた場合、中身を削除せず、trueを返して関数を抜けます。
pathにnullを渡してはいけません。
発生条件ビルド例外コード
pathが「/」で終わっていないdbgのみ0xE9170006

 file@makeReader

ファイル読み込みクラスのインスタンスを生成する関数です。

func makeReader(path: []char): file@Reader

path読み込むファイル
戻り値ファイル読み込みクラスのインスタンス
ファイルが存在しないか、ファイルオープンに失敗するとnullが返ります。
pathにnullを渡してはいけません。

 file@makeWriter

ファイル書き込みクラスのインスタンスを生成する関数です。

func makeWriter(path: []char, append: bool): file@Writer

path書き込むファイル
append追記モードならtrue、上書きモードならfalse
戻り値ファイル書き込みクラスのインスタンス
ファイルオープンに失敗するとnullが返ります。
既にファイルが存在したとき、appendにfalseを指定すると内容が消去されて新規ファイルとして書き込まれ、trueを指定すると既存の内容の末尾に追記されます。
pathにnullを渡してはいけません。

 file@moveDir

ディレクトリを移動する関数です。

func moveDir(dst: []char, src: []char): bool

dst移動先のディレクトリのパス
src移動元のディレクトリのパス
戻り値移動に成功したらtrue、失敗したらfalse
既に移動先にファイルやディレクトリが存在したら上書きします。
dstやsrcにnullを渡してはいけません。
srcディレクトリがdstディレクトリを含んでいてはいけません。
発生条件ビルド例外コード
dstやsrcが「/」で終わっていないdbgのみ0xE9170006

 file@moveFile

ファイルを移動する関数です。

func moveFile(dst: []char, src: []char): bool

dst移動先のファイルのパス
src移動元のファイルのパス
戻り値移動に成功したらtrue、失敗したらfalse
既に移動先にファイルが存在したら上書きします。
dstやsrcにnullを渡してはいけません。

 file@setCurDir

カレントディレクトリを設定する関数です。

func setCurDir(path: []char)

pathカレントディレクトリのパス
カレントディレクトリに設定できないディレクトリをpathに指定すると、この関数は何もせずに抜けたり、一応設定されてその後のファイルの扱いでエラーが起きたりするため、事前に妥当性をチェックしてください。
pathにnullを渡してはいけません。
発生条件ビルド例外コード
pathが「/」で終わっていないdbgのみ0xE9170006
1618603517jaf