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: 1167
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. 2024 )