オブジェクトバッファストリーム
キャッシュ読み取りオブジェクト
BufferedStream オブジェクトは、バイナリ ストリームの読み取りに使用されるバッファリングされたストリーム オブジェクトです。基礎となるストリームをキャッシュし、テキスト読み取り機能を提供できます。BufferedStream オブジェクトを使用する場合、処理するストリーム オブジェクトを構築パラメータとして渡すだけです。作成方法:
1var 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
19var 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 コンストラクター
1new BufferedStream(Stream stm);
呼び出しパラメータ:
- stm:Stream、BufferedStream の基礎となるバイナリ ストリーム オブジェクト
メンバーのプロパティ
stream
Stream, キャッシュ オブジェクトの作成時にストリーム オブジェクトをクエリします。
1readonly Stream BufferedStream.stream;
charset
文字列、クエリ、テキスト処理時の現在のオブジェクトの文字セットの設定、デフォルトは utf-8
1String BufferedStream.charset;
EOL
行終了識別子の文字列、クエリ、および設定。デフォルトでは、posix:\"\n\"; windows:\"\r\n\"
1String BufferedStream.EOL;
fd
整数、クエリStreamサブクラスによって実装される、対応するファイル記述子の値
1readonly Integer BufferedStream.fd;
メンバー関数
readText
指定した文字を含むテキストを読み取る
1String BufferedStream.readText(Integer size) async;
呼び出しパラメータ:
- size: 整数。読み取るテキスト文字数 (UTF8 または指定されたエンコード バイト数のいずれか) を指定します。
返される結果:
- String, 読み取ったテキスト文字列を返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。
readLine
テキスト行を読み取ります。行末識別子は EOL 属性の設定に基づきます。デフォルトでは、posix:\"\n\"; windows:\"\r\n\"
1String BufferedStream.readLine(Integer maxlen = -1) async;
呼び出しパラメータ:
- maxlen: 整数, utf8 エンコーディングのバイト数に基づいて、今回読み取られる最大文字列を指定します。デフォルトでは文字数に制限はありません。
返される結果:
- String, 読み取ったテキスト文字列を返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。
readLines
配列モードでテキスト行のグループを読み取ります。行末識別子は EOL 属性の設定に基づきます。デフォルトでは、posix:\"\n\"; windows:\"\r\n\"
1Array BufferedStream.readLines(Integer maxlines = -1);
呼び出しパラメータ:
- maxlines: 整数。今回読み取られる最大行数を指定します。デフォルトでは、すべてのテキスト行が読み取られます。
返される結果:
- Arrayは、読み取られたテキスト行の配列を返します。読み取るデータがない場合、または接続が中断された場合、配列は空になります。
readUntil
指定されたバイトで終わるテキスト文字列を読み取ります
1
2String BufferedStream.readUntil(String mk,
Integer maxlen = -1) async;
呼び出しパラメータ:
- mk: 文字列、終了を指定する文字列
- maxlen: 整数, utf8 エンコーディングのバイト数に基づいて、今回読み取られる最大文字列を指定します。デフォルトでは文字数に制限はありません。
返される結果:
- String, 読み取ったテキスト文字列を返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。
writeText
文字列を書く
1BufferedStream.writeText(String txt) async;
呼び出しパラメータ:
- txt: String、書き込まれる文字列を指定します
writeLine
文字列を書いて改行文字を書く
1BufferedStream.writeLine(String txt) async;
呼び出しパラメータ:
- txt: String、書き込まれる文字列を指定します
read
ストリームから指定されたサイズのデータを読み取ります
1Buffer BufferedStream.read(Integer bytes = -1) async;
呼び出しパラメータ:
- bytes: 整数。読み取られるデータの量を指定します。デフォルトでは、ランダムなサイズのデータ ブロックが読み取られます。読み取られるデータのサイズはデバイスによって異なります。
返される結果:
- Bufferは、ストリームから読み取られたデータを返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。
write
指定されたデータをストリームに書き込みます
1BufferedStream.write(Buffer data) async;
呼び出しパラメータ:
- data:Buffer、書き込まれるデータが与えられると、
flush
ファイルバッファの内容を物理デバイスに書き込む
1BufferedStream.flush() async;
close
現在のストリーム オブジェクトを閉じる
1BufferedStream.close() async;
copyTo
ストリーム データをターゲット ストリームにコピーする
1
2Long BufferedStream.copyTo(Stream stm,
Long bytes = -1) async;
呼び出しパラメータ:
- stm:Stream、ターゲットストリームオブジェクト
- bytes: Long、コピーされたバイト数
返される結果:
- Long、コピーされたバイト数を返します
toString
オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。
1String BufferedStream.toString();
返される結果:
- String、オブジェクトの文字列表現を返します。
toJSON
オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。
1Value BufferedStream.toJSON(String key = "");
呼び出しパラメータ:
- key: 文字列、使用されません
返される結果:
- Value、シリアル化可能な JSON を含む値を返します