物件RangeStream
Range 查詢流讀取對象
RangeStream 物件用於對SeekableStream物件資料進行截取。創建方法:
1
2
3
4
5var stm = new io.RangeStream(stream, '0-10');
stm.end // 11
var stm = new io.RangeStream(stream, 0, 10);
stm.end // 10
繼承關係
建構函數
RangeStream
RangeStream 建構函式
1
2new RangeStream(SeekableStream stm,
String range);
呼叫參數:
- stm:SeekableStream, RangeStream 的二進位基礎流物件, 必須是SeekableStream
- range: String, 描述range 的字串, 格式為'begin-[end]', '[begin]-end'
RangeStream 建構函式
1
2
3new RangeStream(SeekableStream stm,
Long begin,
Long end);
呼叫參數:
- stm:SeekableStream, RangeStream 的二進位基礎流物件, 必須是SeekableStream
- begin: Long, 從stm 讀取內容的起始位置
- end: Long, 從stm 讀取內容的結束位置
成員屬性
begin
Long, 查詢range 開始值
1readonly Long RangeStream.begin;
end
Long, 查詢range 結束值
1readonly Long RangeStream.end;
fd
Integer, 查詢Stream對應的文件描述符值, 由子類實現
1readonly Integer RangeStream.fd;
成員函數
seek
移動文件目前操作位置
1
2RangeStream.seek(Long offset,
Integer whence = fs.SEEK_SET);
呼叫參數:
- offset: Long, 指定新的位置
- whence: Integer, 指定位置基準,允許的值為:SEEK_SET, SEEK_CUR, SEEK_END
tell
查詢流目前位置
1Long RangeStream.tell();
回傳結果:
- Long, 返回流當前位置
rewind
移動當前位置到流開頭
1RangeStream.rewind();
size
查詢流尺寸
1Long RangeStream.size();
回傳結果:
- Long, 返回流尺寸
readAll
從流內讀取剩餘的全部數據
1Buffer RangeStream.readAll() async;
回傳結果:
- Buffer, 傳回從流內讀取的數據,若無數據可讀,或連線中斷,則傳回null
truncate
修改檔案尺寸,如果新尺寸小於原尺寸,則檔案被截斷
1RangeStream.truncate(Long bytes) async;
呼叫參數:
- bytes: Long, 新的文件尺寸
eof
查詢文件是否到結尾
1Boolean RangeStream.eof();
回傳結果:
- Boolean, 回傳True 表示結尾
stat
查詢當前文件的基礎信息
1Stat RangeStream.stat() async;
回傳結果:
read
從流內讀取指定大小的數據
1Buffer RangeStream.read(Integer bytes = -1) async;
呼叫參數:
- bytes: Integer, 指定要讀取的資料量,預設為讀取隨機大小的資料區塊,讀取的資料尺寸取決於設備
回傳結果:
- Buffer, 傳回從流內讀取的數據,若無數據可讀,或連線中斷,則傳回null
write
將給定的資料寫入流
1RangeStream.write(Buffer data) async;
呼叫參數:
- data:Buffer, 給定要寫入的數據
flush
將檔案緩衝區內容寫入實體設備
1RangeStream.flush() async;
close
關閉目前流對象
1RangeStream.close() async;
copyTo
複製流資料到目標流中
1
2Long RangeStream.copyTo(Stream stm,
Long bytes = -1) async;
呼叫參數:
- stm:Stream, 目標流對象
- bytes: Long, 複製的位元組數
回傳結果:
- Long, 傳回複製的位元組數
toString
傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現
1String RangeStream.toString();
回傳結果:
- String, 傳回物件的字串表示
toJSON
傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合
1Value RangeStream.toJSON(String key = "");
呼叫參數:
- key: String, 未使用
回傳結果:
- Value, 傳回包含可JSON 序列化的值