Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Fluxurile Java

java


Fluxuri

Fluxurile Java pun la dispozi]ie modalitatea prin care dou\ sau mai multe procese pot comunica f\r\ a avea informa]ii unul despre cel\lalt. Mai mult, prin fluxuri este posibil\ comunicarea între dou\ sau mai multe fire de execu]ie ale aceleia[i aplica]ii. Fluxurile sunt secven]e de octe]i (8 bi]i).



Proces produc\tor flux de ie[ire Proces consumator

Proces consumator flux de intrare Proces produc\tor

fluxurile sunt unidirec]ionale, de la produc\tor la consumator

fiecare flux are un singur proces produc\tor [i un singur proces consumator

între dou\ procese pot exista oricâte fluxuri, orice proces putând fi atât produc\tor [i consumator în acela[i timp, dar pe fluxuri diferite

consumatorul [i produc\torul nu comunic\ direct printr-o interfa]\ de flux ci prin intermediul codului Java de tratare a fluxurilor

Importan]a : ajut\ la citirea scrierea informa]iilor in dispozitive de intrare/ie[ire, fi[iere, baze de date, etc.

Toate interfe]ele pentru fluxuri implementeaz\ un set de metode de baz\, comune tuturor categoriilor de fluxuri. Metodele standard pentru lucrul cu fluxuri se g\sesc\ în pachetul java.io

Fluxuri de intrare

BufferedInputStream

cite[te datele dintr-un buffer

ByteArrayInputStream

cite[te octe]ii de date într-o matrice de octe]i

DataInputStream

cite[te dintr-un flux de intrare obiecte, nu [iruri de octe]i

FileInputStream

cite[te date dintr-un fi[ier

FilterInputStream

InputStream

LineNumberInputStream

PipedInputStream

PushBackInputStream

SequenceInputStream

StringBufferInputStream

A.     Metode care func]ioneaz\ cu toate fluxurile de intrare :

read() - cite[te date dintr-un flux de intrare

skip() - ignor\ unele date din fluxul de intrare

markAvailable() - testeaz\ dac\ metoda mark() este disponibil\ pentru fluxul de intrare respectiv

close() - închide un flux de intrare

B.     Metode a c\ror func]ionare nu este garantat\ pentru toate fluxurile de intrare :

available() - determin\ cantitatea de date disponibile într-un flux de intrare

mark() - marcheaz\ în fluxul de intrare un punct la care se poate reveni ulterior

reset() - revine la un punct dpecificat în fluxul de intrare



Read

int read ();

int read (byte[] buffer)

int read (byte[] buffer, int offset, int length)

Skip

long skip (long numar_octeti)

Exemplu:

public long skipRecords(int num)

catch (IOException e)

return (retCode);

Close - închide un flux de intrare (Java închide automat fluxurile la terminarea aplica]iei)

void close();

Exemplu:

public long closeStream()

Available - determin\ dac\ o anumit\ cantitate de date poate fi citit\ f\r\ blocarea fluxului de intrare.

int available()

Returneaz\ nr. de octe]i ce pot fi citi]i din fluxul de intrare f\r\ blocare.

Exemplu:

public boolean isRecordReady()

catch (IOException e)

return ret;

Fluxuri de ie[ire

Clase pentru fluxuri de ie[ire :

FileOuputStream

BufferedOutputStream

ByteArrayOutputStream

DataOutputStream

FilterOutputStream

OutputStream

PipedOutputStream

PrintStream

Metode pentru fluxurile de ie[ire

write() - scrie date într-un flux de ie[ire

flush() - for]eaz\ scrierea datelor într-un canal de redirectare

close() - închide un flux de ie[ire

Write

int write ();

int write (byte[] buffer)

int write (byte[] buffer, int offset, int length)

Flush - for]eaz\ scrierea c\tre dispozitivul de ie[ire a datelor stocate în zona tampon pentru un flux de ie[ire.

void flush();

Close - închide un flux de ie[ire (Java închide automat fluxurile la terminarea aplica]iei)

void close();

RECOMANDARE: Operatiile read/write se recomand\ a fi f\cute în fire de execu]ie separate care s\ nu blocheze programul.

import java.io.*;

public class TestFlux

catch (IOException e)

} //while

}//try

catch (IOException e)

}//try

catch (FileNotFoundException e)

}//main

}//class




Document Info


Accesari: 1255
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )