Fluxuri Java

Previzualizare laborator:

Extras din laborator:

Fluxurile Java pun la dispozitie modalitatea prin care doua sau mai multe procese pot comunica fara a avea informatii unul despre celalalt. Mai mult, prin fluxuri este posibila comunicarea intre doua sau mai multe fire de executie ale aceleiasi aplicatii. Fluxurile sunt secvente de octeti (8 biti).

Proces producator ? flux de iesire ? Proces consumator

Proces consumator ? flux de intrare ? Proces producator

- fluxurile sunt unidirectionale, de la producator la consumator

- fiecare flux are un singur proces producator si un singur proces consumator

- intre doua procese pot exista oricate fluxuri, orice proces putand fi atat producator si consumator in acelasi timp, dar pe fluxuri diferite

- consumatorul si producatorul nu comunica direct printr-o interfata de flux ci prin intermediul codului Java de tratare a fluxurilor

Importanta : ajuta la citirea scrierea informatiilor in dispozitive de intrare/iesire, fisiere, baze de date, etc.

Toate interfetele pentru fluxuri implementeaza un set de metode de baza, comune tuturor categoriilor de fluxuri. Metodele standard pentru lucrul cu fluxuri se gasesca in pachetul java.io.

Fluxuri de intrare

BufferedInputStream citeste datele dintr-un buffer

ByteArrayInputStream citeste octetii de date intr-o matrice de octeti

DataInputStream citeste dintr-un flux de intrare obiecte, nu siruri de octeti

FileInputStream citeste date dintr-un fisier

FilterInputStream

InputStream

LineNumberInputStream

PipedInputStream

PushBackInputStream

SequenceInputStream

StringBufferInputStream

A. Metode care functioneaza cu toate fluxurile de intrare :

- read() - citeste date dintr-un flux de intrare

- skip() - ignora unele date din fluxul de intrare

- markAvailable() - testeaza daca metoda mark() este disponibila pentru fluxul de intrare respectiv

- close() - inchide un flux de intrare

B. Metode a caror functionare nu este garantata pentru toate fluxurile de intrare :

- available() - determina cantitatea de date disponibile intr-un flux de intrare

- mark() - marcheaza in fluxul de intrare un punct la care se poate reveni ulterior

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

Read

int read ();

int read (bytest buffer)

int read (bytest buffer, int offset, int length)

Skip

long skip (long numar_octeti)

Exemplu:

public long skipRecords(int num) {

int recordSize = 512 ;

long retCode = 0 ;

try {

//sare peste num inregistrari

retCode = MyStream.skip(num * recordSize);

//calc nr. de inregistrari peste care a sarit

if retCode > 0 {

retCode /= recordSize ;

}

catch (IOException e) {

System.out.println.("Eroare de intrare/iesire!");

}

return (retCode);

}

Close - inchide un flux de intrare (Java inchide automat fluxurile la terminarea aplicatiei)

void close();

Exemplu:

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Fluxuri Java.doc
Alte informații:
Tipuri fișiere:
doc
Diacritice:
Nu
Nota:
10/10 (4 voturi)
Nr fișiere:
1 fisier
Pagini (total):
53 pagini
Imagini extrase:
52 imagini
Nr cuvinte:
10 090 cuvinte
Nr caractere:
64 844 caractere
Marime:
264.69KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Rețele
Tag-uri:
programare, scritpuri, computere, browser
Predat:
la facultate
Materie:
Rețele
Sus!