Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Vorhergehendes Paket   Seite Zurück   Seite Vor   Nächstes Paket   Paketübersicht   Index

Klasse java.io.BufferedInputStream1.0

java.lang.Object
   |
   +--java.io.InputStream
         |
         +--java.io.FilterInputStream
               |
               +--java.io.BufferedInputStream

Deklaration

public class BufferedInputStream
extends java.io.FilterInputStream

Beschreibung

Diese Klasse implementiert einen gepufferten Eingabe-Stream. Beim Aufruf einer read()-Methode werden mehr Daten aus dem darunterliegenden Stream gelesen, als eigentlich angefordert wurden. Diese Daten werden in einem Puffer zwischengespeichert, so daß nachfolgende Leseoperationen ihre Daten aus dem Puffer beziehen, was deutliche Geschwindigkeitsvorteile bringen kann.


 
Datenelemente
protected byte[]buf
protected intcount
protected intpos
protected intmarkpos
protected intmarklimit
 
Konstruktoren
publicBufferedInputStream(InputStream in)
publicBufferedInputStream(InputStream in, int size)
 
Methoden
public synchronized intavailable()
public voidclose()
public synchronized voidmark(int readlimit)
public booleanmarkSupported()
public synchronized intread()
public synchronized intread(byte[] b, int off, int len)
public synchronized voidreset()
public synchronized longskip(long n)


 

Datenelemente im Detail

protected byte[] buf
Der Puffer des Streams.
protected int count
Die Anzahl der momentan im Puffer enthaltenen Bytes.
protected int pos
Die momentane Byte-Position im Puffer.
protected int markpos
Enthält die Position der Marke im Puffer. markpos hat den Wert -1, wenn bisher keine Marke gesetzt wurde oder wenn eine gesetzte Marke verfallen ist.
protected int marklimit
Enthält die Anzahl an Bytes, die noch aus dem Puffer gelesen werden können, bevor die momentan gesetzte Marke verfällt.

 

Konstruktoren im Detail

public BufferedInputStream(InputStream in)
Erzeugt einen neuen BufferedInputStream, der seine Daten aus in bezieht. Der Puffer hat eine voreingestellte Größe von 2048 Bytes.
public BufferedInputStream(InputStream in, int size)
Erzeugt einen neuen BufferedInputStream, der seine Daten aus in bezieht. Der Puffer hat eine Größe von size Bytes.

 

Methoden im Detail

public synchronized int available()
Liefert die Anzahl an Bytes, die momentan gelesen werden kann, ohne zu blockieren.
Exception: IOException
public void close()
Schließt den Stream.
Exception: IOException
public synchronized void mark(int readlimit)
Markiert die momentane Position im Stream. Nachfolgende Aufrufe von reset() springen danach wieder an diese Position. Hierdurch ist es möglich, dieselben Bytes mehrfach zu lesen. Die Marke verfällt wieder, nach dem readlimit Bytes aus dem Stream gelesen wurden, unabhängig davon, ob reset() aufgerufen wurde oder nicht.
public boolean markSupported()
Liefert true, da dieser Stream Markierung unterstützt.
public synchronized int read()
Liest ein Byte aus dem Stream und liefert es zurück. Der Rückgabewert -1 signalisiert, dass das Ende des Streams erreicht wurde. Wenn momentan keine Daten im Stream bereitstehen, blockiert diese Methode so lange, bis wieder mindestens 1 Byte gelesen werden kann oder das Stream-Ende erreicht ist.
Exception: IOException
public synchronized int read(byte[] b, int off, int len)
Versucht, len Bytes aus dem Stream zu lesen und speichert sie ab dem Index off in b. Wenn beim Versuch, das erste Byte zu lesen, das Stream-Ende bereits erreicht war, ist der Rückgabewert -1, ansonsten wird die Anzahl der tatsächlich gelesenen Bytes zurückgeliefert. Wenn während des Lesevorgangs das Stream-Ende erreicht wird oder wenn im darunterliegenden Stream nur weniger als len Bytes gelesen werden können, ohne zu blockieren, kehrt die Methode zurück und liefert die Anzahl der bis dahin gelesenen Bytes.
Exception: IOException
public synchronized void reset()
Springt im Stream auf die Position zurück, die mit dem letzten Aufruf von mark() gesetzt wurde.
Exception: IOException
public synchronized long skip(long n)
Versucht, n Bytes aus dem Stream zu überlesen, und liefert die Anzahl der tatsächlich übersrungenen Bytes. Diese kann kleiner als n sein, wenn vorzeitig das Ende des Streams erreicht wird. Fall momentan weniger als n Bytes im Stream bereitstehen, blockiert diese Methode so lange, bis n Bytes gelesen werden konnten oder das Stream-Ende erreicht ist.
Exception: IOException


 Inhaltsverzeichnis   Vorhergehendes Paket   Seite Zurück   Seite Vor   Nächstes Paket   Paketübersicht   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.