オブジェクト組み込みオブジェクト

オブジェクトバッファストリーム

キャッシュ読み取りオブジェクト

BufferedStream オブジェクトは、バイナリ ストリームの読み取りに使用されるバッファリングされたストリーム オブジェクトです。基礎となるストリームをキャッシュし、テキスト読み取り機能を提供できます。BufferedStream オブジェクトを使用する場合、処理するストリーム オブジェクトを構築パラメータとして渡すだけです。作成方法:

1
var reader = new io.BufferedStream(stream);

BufferedStream はから継承しますStreamオブジェクト、持っているStreamオブジェクトのすべてのメソッドとプロパティ。このうち、ストリーム属性は、キャッシュ オブジェクトを作成するときにストリーム オブジェクトを問い合わせるために使用されます。BufferedStream オブジェクトは、行末識別子 (デフォルト、posix:\"\n\"、windows:\"\r\n\") のクエリと設定のための EOL 属性と、クエリと設定のための charset 属性もサポートしています。現在のオブジェクト処理テキストの文字セット。デフォルトは utf-8 です。

BufferedStream オブジェクトは、ストリーム データを読み取るときに、最初にデータをバッファーに読み取り、次にバッファーからデータを取得するブロック メソッドを採用します。これにより、ストリーム データを読み取る際のネットワーク インタラクションの数が効果的に削減され、読み取り効率が向上します。効率。

BufferedStream オブジェクトは、指定されたデータをストリームに書き込むための write メソッドも提供します。基になるストリーム オブジェクトの書き込みがブロックされている場合は、次のステップに進む前にデータが受け入れられるまで待機します。Flush メソッドは、ファイル バッファーの内容を物理デバイスに書き込みます。close メソッドは、現在のストリーム オブジェクトを閉じます。一部のメソッドの特定の実装はサブクラスで実装できます。

BufferedStream オブジェクトを使用する場合は、既に使用されている他の基礎となるストリーム オブジェクトと混合しないように注意する必要があります。混合しないと、データの繰り返し読み取りや読み取りエラーが発生する可能性があります。

以下は、BufferedStream オブジェクトを使用してファイルの内容を読み取るサンプル コードです。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
var fs = require('fs'); var io = require('io'); var filename = "test.txt"; // open file var file = fs.openFile(filename); // create BufferedStream object var reader = new io.BufferedStream(file); // read file content var lines = reader.readLines(); for (var i = 0; i < lines.length; i++) console.log(lines[i]); // close file file.close();

相続関係

コンストラクタ

BufferedStream

BufferedStream コンストラクター

1
new BufferedStream(Stream stm);

呼び出しパラメータ:

  • stm:Stream、BufferedStream の基礎となるバイナリ ストリーム オブジェクト

メンバーのプロパティ

stream

Stream, キャッシュ オブジェクトの作成時にストリーム オブジェクトをクエリします。

1
readonly Stream BufferedStream.stream;

charset

文字列、クエリ、テキスト処理時の現在のオブジェクトの文字セットの設定、デフォルトは utf-8

1
String BufferedStream.charset;

EOL

行終了識別子の文字列、クエリ、および設定。デフォルトでは、posix:\"\n\"; windows:\"\r\n\"

1
String BufferedStream.EOL;

fd

整数、クエリStreamサブクラスによって実装される、対応するファイル記述子の値

1
readonly Integer BufferedStream.fd;

メンバー関数

readText

指定した文字を含むテキストを読み取る

1
String BufferedStream.readText(Integer size) async;

呼び出しパラメータ:

  • size: 整数。読み取るテキスト文字数 (UTF8 または指定されたエンコード バイト数のいずれか) を指定します。

返される結果:

  • String, 読み取ったテキスト文字列を返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。

readLine

テキスト行を読み取ります。行末識別子は EOL 属性の設定に基づきます。デフォルトでは、posix:\"\n\"; windows:\"\r\n\"

1
String BufferedStream.readLine(Integer maxlen = -1) async;

呼び出しパラメータ:

  • maxlen: 整数, utf8 エンコーディングのバイト数に基づいて、今回読み取られる最大文字列を指定します。デフォルトでは文字数に制限はありません。

返される結果:

  • String, 読み取ったテキスト文字列を返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。

readLines

配列モードでテキスト行のグループを読み取ります。行末識別子は EOL 属性の設定に基づきます。デフォルトでは、posix:\"\n\"; windows:\"\r\n\"

1
Array BufferedStream.readLines(Integer maxlines = -1);

呼び出しパラメータ:

  • maxlines: 整数。今回読み取られる最大行数を指定します。デフォルトでは、すべてのテキスト行が読み取られます。

返される結果:

  • Arrayは、読み取られたテキスト行の配列を返します。読み取るデータがない場合、または接続が中断された場合、配列は空になります。

readUntil

指定されたバイトで終わるテキスト文字列を読み取ります

1 2
String BufferedStream.readUntil(String mk, Integer maxlen = -1) async;

呼び出しパラメータ:

  • mk: 文字列、終了を指定する文字列
  • maxlen: 整数, utf8 エンコーディングのバイト数に基づいて、今回読み取られる最大文字列を指定します。デフォルトでは文字数に制限はありません。

返される結果:

  • String, 読み取ったテキスト文字列を返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。

writeText

文字列を書く

1
BufferedStream.writeText(String txt) async;

呼び出しパラメータ:

  • txt: String、書き込まれる文字列を指定します

writeLine

文字列を書いて改行文字を書く

1
BufferedStream.writeLine(String txt) async;

呼び出しパラメータ:

  • txt: String、書き込まれる文字列を指定します

read

ストリームから指定されたサイズのデータ​​を読み取ります

1
Buffer BufferedStream.read(Integer bytes = -1) async;

呼び出しパラメータ:

  • bytes: 整数。読み取られるデータの量を指定します。デフォルトでは、ランダムなサイズのデータ​​ ブロックが読み取られます。読み取られるデータのサイズはデバイスによって異なります。

返される結果:

  • Bufferは、ストリームから読み取られたデータを返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。

write

指定されたデータをストリームに書き込みます

1
BufferedStream.write(Buffer data) async;

呼び出しパラメータ:

  • data:Buffer、書き込まれるデータが与えられると、

flush

ファイルバッファの内容を物理デバイスに書き込む

1
BufferedStream.flush() async;

close

現在のストリーム オブジェクトを閉じる

1
BufferedStream.close() async;

copyTo

ストリーム データをターゲット ストリームにコピーする

1 2
Long BufferedStream.copyTo(Stream stm, Long bytes = -1) async;

呼び出しパラメータ:

  • stm:Stream、ターゲットストリームオブジェクト
  • bytes: Long、コピーされたバイト数

返される結果:

  • Long、コピーされたバイト数を返します

toString

オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。

1
String BufferedStream.toString();

返される結果:

  • String、オブジェクトの文字列表現を返します。

toJSON

オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。

1
Value BufferedStream.toJSON(String key = "");

呼び出しパラメータ:

  • key: 文字列、使用されません

返される結果:

  • Value、シリアル化可能な JSON を含む値を返します