Object 內建對象

對象Stream

流操作對象,用於二進位資料流讀寫

Stream 為基礎對象,用於為流處理定義標準藉口,不能獨立創建

繼承關係

%0 object object toString() toJSON() Stream Stream fd read() write() flush() close() copyTo() object->Stream BufferedStream BufferedStream Stream->BufferedStream SeekableStream SeekableStream Stream->SeekableStream Socket Socket Stream->Socket SslSocket SslSocket Stream->SslSocket TTYInputStream TTYInputStream Stream->TTYInputStream TTYOutputStream TTYOutputStream Stream->TTYOutputStream File File SeekableStream->File MemoryStream MemoryStream SeekableStream->MemoryStream RangeStream RangeStream SeekableStream->RangeStream

成員屬性

fd

Integer, 查詢Stream 對應的檔案描述符值, 由子類別實現

1
readonly Integer Stream.fd;

成員函數

read

從流內讀取指定大小的數據

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

呼叫參數:

  • bytes: Integer, 指定要讀取的資料量,預設為讀取隨機大小的資料區塊,讀取的資料尺寸取決於設備

回傳結果:

  • Buffer, 傳回從流內讀取的數據,若無數據可讀,或連線中斷,則傳回null

write

將給定的資料寫入流

1
Stream.write(Buffer data) async;

呼叫參數:

  • data:Buffer, 給定要寫入的數據

flush

將檔案緩衝區內容寫入實體設備

1
Stream.flush() async;

close

關閉目前流對象

1
Stream.close() async;

copyTo

複製流資料到目標流中

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

呼叫參數:

  • stm: Stream, 目標流對象
  • bytes: Long, 複製的位元組數

回傳結果:

  • Long, 傳回複製的位元組數

toString

傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現

1
String Stream.toString();

回傳結果:

  • String, 傳回物件的字串表示

toJSON

傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合

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

呼叫參數:

  • key: String, 未使用

回傳結果:

  • Value, 傳回包含可JSON 序列化的值