Instanțele acestor clase nu sunt fluxuri de intrare/ieșire propriu-zise, ci fluxuri de prelucrare. În consecință, ele nu se conectează direct la sursă sau la destinație, ci la alte fluxuri. Astfel, ieșirea unui DataOutputStream se poate conecta la intrarea unui FileOutputStream, ByteArrayOutputStream sau PipedOutputStream. Se poate conecta, de asemenea la intrarea unui BufferedOutputStream care, la rândul lui, este conectat la oricare din cele trei menționate anterior. În mod similar, intrarea unui DataInputStream poate fi conectată la ieșirea unui FileInputStream, ByteArrayInputStream sau PipedInputStream. |
Constructor: public DataOutputStream(OutputStream out) - creează un nou flux de ieșire de date, conectat la ieșire la un OutputStream (adică la o instanță a unei clase derivate din clasa OutputStream). Metode: public final void writeBoolean(boolean v) throws
IOException - scrie o valoare booleană; |
Clasa java.io.DataInputStream este derivată din clasa java.io.FilterInputStream
și implementează interfața java.io.DataInput.
Constructor:
public DataInputStream(InputStream in) - creează un flux de date de intrare, care citește date din fluxul de intrare in, primit ca argument. Metode: public final void readFully(byte[] b) throws
IOException - citește din fluxul de intrare un număr de octeți
egal cu lungimea tabloului b, primit ca argument, și îi pune în acest
tablou. Dacă în fluxul de intrare nu sunt înca suficienți octeți, dar nu
s-a atins sfârșitul de fișier, procesul este pus în așteptare până apar
noi octeți. Dacă se întâlnește sfârșitul de fișier (EOF - End of
File), se generează o EOFException; |
Exemplu În fișierul FisierDate.java se dă un exemplu de aplicație, în care se creează un fișier de date și se scriu date în acest fișier folosind un DataOutputStream legat la un FileOutpusStream. După ce au fost scrise datele, se închide fișierul pentru scriere și se redeschide pentru citire, după care se citesc datele în aceeași ordine în care au fost scrise. Datele scrise în fișier și cele citite sunt afișate pe ecran pe perechi, pentru comparație. |