Objekt eingebautes Objekt

ObjektbereichStream

Bereichsabfragestream zum Lesen von Objekten

Das RangeStream-Objekt wird verwendet, um SeekableStreamDie Objektdaten werden abgefangen. Erstellungsmethode:

1 2 3 4 5
var stm = new io.RangeStream(stream, '0-10'); stm.end // 11 var stm = new io.RangeStream(stream, 0, 10); stm.end // 10

Erbe

#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>RangeStream|new RangeStream()|begin;end] [object] <:- [Stream] [Stream] <:- [SeekableStream] [SeekableStream] <:- [RangeStream] Stream fd read() write() flush() close() copyTo() RangeStream new RangeStream() begin end object toString() toJSON() SeekableStream seek() tell() rewind() size() readAll() truncate() eof() stat()

Konstrukteur

RangeStream

RangeStream-Konstruktor

1 2
new RangeStream(SeekableStream stm, String range);

Aufrufparameter:

  • stm: SeekableStream, Das binäre Basisstream-Objekt von RangeStream, muss must sein SeekableStream
  • range: String, ein String, der den Bereich beschreibt, das Format ist 'begin-[end]','[begin]-end'

RangeStream-Konstruktor

1 2 3
new RangeStream(SeekableStream stm, Long begin, Long end);

Aufrufparameter:

  • stm: SeekableStream, Das binäre Basisstream-Objekt von RangeStream, muss must sein SeekableStream
  • begin: Long, die Ausgangsposition zum Lesen von Inhalten aus stm
  • end: Long, die Endposition des Lesens von Inhalten aus stm

Mitgliedsattribute

begin

Langer Startwert für Abfragebereich

1
readonly Long RangeStream.begin;

end

Long, den Endwert des Bereichs abfragen

1
readonly Long RangeStream.end;

fd

Ganzzahl, Abfrage Stream Der entsprechende Dateideskriptorwert, implementiert von der Unterklasse implemented

1
readonly Integer RangeStream.fd;

Mitgliederfunktion

seek

Verschieben Sie die aktuelle Arbeitsposition der Datei

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

Aufrufparameter:

  • offset: Lange, geben Sie einen neuen Standort an
  • whence: Integer, Positionsbezug angeben, erlaubte Werte: SEEK_SET, SEEK_CUR, SEEK_END

tell

Abfrage der aktuellen Position des Streams

1
Long RangeStream.tell();

Ergebnis zurückgeben:

  • Long, Gibt die aktuelle Position des Streams zurück

rewind

Verschieben Sie die aktuelle Position an den Anfang des Streams

1
RangeStream.rewind();

size

Streamgröße abfragen

1
Long RangeStream.size();

Ergebnis zurückgeben:

  • Long, Rücklaufgröße

readAll

Alle restlichen Daten aus dem Stream lesen

1
Buffer RangeStream.readAll() async;

Ergebnis zurückgeben:

  • Buffer, Die aus dem Stream gelesenen Daten zurückgeben, wenn keine Daten zum Lesen vorhanden sind oder die Verbindung unterbrochen ist, dann null zurückgeben

truncate

Ändern Sie die Dateigröße, wenn die neue Größe kleiner als die Originalgröße ist, wird die Datei abgeschnitten

1
RangeStream.truncate(Long bytes) async;

Aufrufparameter:

  • bytes: Lange, neue Dateigröße

eof

Überprüfen Sie, ob die Datei zu Ende ist

1
Boolean RangeStream.eof();

Ergebnis zurückgeben:

  • Boolean, True zurückgeben, um das Ende anzuzeigen

stat

Abfrage der Basisinformationen der aktuellen Datei

1
Stat RangeStream.stat() async;

Ergebnis zurückgeben:

  • Stat, Rückkehr Stat Informationen zur Objektbeschreibungsdatei

read

Daten der angegebenen Größe aus dem Stream lesen

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

Aufrufparameter:

  • bytes: Integer, geben Sie die zu lesende Datenmenge an, standardmäßig wird ein Datenblock zufälliger Größe gelesen, die Größe der gelesenen Daten hängt vom Gerät ab

Ergebnis zurückgeben:

  • Buffer, Die aus dem Stream gelesenen Daten zurückgeben, wenn keine Daten zum Lesen vorhanden sind oder die Verbindung unterbrochen ist, dann null zurückgeben

write

Schreiben Sie die angegebenen Daten in den Stream

1
RangeStream.write(Buffer data) async;

Aufrufparameter:

  • data: Buffer, Angesichts der zu schreibenden Daten

flush

Schreiben Sie den Inhalt des Dateipuffers auf das physische Gerät

1
RangeStream.flush() async;

close

Schließen Sie das aktuelle Stream-Objekt

1
RangeStream.close() async;

copyTo

Kopieren Sie die Streamdaten in den Zielstream

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

Aufrufparameter:

  • stm: Stream, Das Ziel-Stream-Objekt
  • bytes: Long, die Anzahl der kopierten Bytes

Ergebnis zurückgeben:

  • Long, Gibt die Anzahl der kopierten Bytes zurück

toString

Gibt die String-Darstellung des Objekts zurück, gibt im Allgemeinen "[Native Object]" zurück, das Objekt kann entsprechend seiner eigenen Eigenschaften neu implementiert werden

1
String RangeStream.toString();

Ergebnis zurückgeben:

  • String, Gibt die String-Darstellung des Objekts zurück

toJSON

Gibt die Darstellung des Objekts im JSON-Format zurück, gibt im Allgemeinen eine Sammlung von lesbaren Attributen zurück, die durch das Objekt definiert sind

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

Aufrufparameter:

  • key: String, unbenutzt

Ergebnis zurückgeben:

  • Value, Gibt einen Wert zurück, der JSON serialisierbar enthält