Object 內置對象

對象MemoryStream

內存流對象

MemoryStream 對象創建一個基於內存的流對象,創建方法:

1
var ms = new io.MemoryStream();

繼承關係

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>Stream|fd|read();write();flush();close();copyTo()] [<class>SeekableStream|seek();tell();rewind();size();readAll();truncate();eof();stat()] [<this>MemoryStream|new MemoryStream()|setTime();clone();clear()] [object] <:- [Stream] [Stream] <:- [SeekableStream] [SeekableStream] <:- [MemoryStream] Stream fd read() write() flush() close() copyTo() MemoryStream new MemoryStream() setTime() clone() clear() object toString() toJSON() SeekableStream seek() tell() rewind() size() readAll() truncate() eof() stat()

構造函數

MemoryStream

MemoryStream 構造函數

1
new MemoryStream();

成員屬性

fd

Integer, 查詢 Stream 對應的文件描述符值, 由子類實現

1
readonly Integer MemoryStream.fd;

成員函數

setTime

強制設定內存流對象的最後更新時間

1
MemoryStream.setTime(Date d);

調用參數:

  • d: Date, 指定要設定的時間

clone

創建當前內存流的一個只讀副本

1
MemoryStream MemoryStream.clone();

返回結果:

  • MemoryStream, 返回只讀的內存流對象

clear

清空內存文件數據,復位指針

1
MemoryStream.clear();

seek

移動文件當前操作位置

1 2
MemoryStream.seek(Long offset, Integer whence = fs.SEEK_SET);

調用參數:

  • offset: Long, 指定新的位置
  • whence: Integer, 指定位置基準,允許的值為:SEEK_SET, SEEK_CUR, SEEK_END

tell

查詢流當前位置

1
Long MemoryStream.tell();

返回結果:

  • Long, 返回流當前位置

rewind

移動當前位置到流開頭

1
MemoryStream.rewind();

size

查詢流尺寸

1
Long MemoryStream.size();

返回結果:

  • Long, 返回流尺寸

readAll

從流內讀取剩餘的全部數據

1
Buffer MemoryStream.readAll() async;

返回結果:

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

truncate

修改文件尺寸,如果新尺寸小於原尺寸,則文件被截斷

1
MemoryStream.truncate(Long bytes) async;

調用參數:

  • bytes: Long, 新的文件尺寸

eof

查詢文件是否到結尾

1
Boolean MemoryStream.eof();

返回結果:

  • Boolean, 返回True 表示結尾

stat

查詢當前文件的基礎信息

1
Stat MemoryStream.stat() async;

返回結果:

  • Stat, 返回 Stat 對象描述文件信息

read

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

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

調用參數:

  • bytes: Integer, 指定要讀取的數據量,缺省為讀取隨機大小的數據塊,讀出的數據尺寸取決於設備

返回結果:

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

write

將給定的數據寫入流

1
MemoryStream.write(Buffer data) async;

調用參數:

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

flush

將文件緩衝區內容寫入物理設備

1
MemoryStream.flush() async;

close

關閉當前流對象

1
MemoryStream.close() async;

copyTo

複製流數據到目標流中

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

調用參數:

  • stm: Stream, 目標流對象
  • bytes: Long, 複製的字節數

返回結果:

  • Long, 返回複製的字節數

toString

返回對象的字符串表示,一般返回"[Native Object]",對象可以根據自己的特性重新實現

1
String MemoryStream.toString();

返回結果:

  • String, 返回對象的字符串表示

toJSON

返回對象的JSON 格式表示,一般返回對象定義的可讀屬性集合

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

調用參數:

  • key: String, 未使用

返回結果:

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