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




Citirea si scrierea cu zona tampon

java


Citirea si scrierea cu zona tampon

Clasele pentru citirea/scrierea cu zona tampon sunt:


BufferedReader, BufferedWriter - caractere
BufferedInputStream, BufferedOutputStream - octeti

Sunt folosite pentru a introduce un buffer în procesul de scriere/citire a informatiilor, reducând astfel numarul de accese la dispozitivul ce reprezinta sursa originala de date. Sunt mult mai eficiente decât fluxurile fara buffer si din acest motiv se recomanda folosirea lor ori de câte ori este posibil.
Clasele BufferedReader si BufferedInputStream citesc în avans date si le memoreaza într-o zona tampon (buffer). Atunci când se executa o operatie read(), octetul citit va fi preluat din buffer. In cazul în care buffer-ul este gol citirea se face direct din flux si, odata cu citirea octetului, vor fi memorati în buffer si octetii care îi urmeaza.
Similar, se lucreaza si cu clasele BufferedWriter si BufferedOutputStream.
Fluxurile de citire/scriere cu buffer sunt fluxuri de procesare si sunt folosite prin suprapunere cu alte fluxuri.



Exemplu:
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream("out.dat"), 1024)

Constructorii acestor clase sunt urmatorii:

BufferedReader

BufferedReader( Reader in )

BufferedReader( Reader in, int dim_buffer )

BufferedWriter

BufferedWriter( Writer out )

BufferedWriter( Writer out, int dim_buffer )

BufferedInputStream

BufferedInputStream( InputStream in )

BufferedInputStream( InputStream in, int dim_buffer )

BufferedOutputStream

BufferedOutputStream( OutputStream out )

BufferedOutputStream( OutputStream out, int  dim_buffer )

In cazul constructorilor în care dimensiunea buffer-ului nu este specificata, aceasta primeste valoarea implicita de 512 octeti.

Metodele acestor clase sunt cele uzuale de tipul
read si write. Pe lânga acestea, clasele pentru scriere prin buffer mai au si metoda flush care goleste explicit zona tampon chiar daca aceasta nu este plina.

Exemplu:
BufferedWriter out = new BufferedWriter(
new FileWriter("out.dat"), 1024)
//am creat un flux cu buffer de 1024 octeti
for(int i=0; i<1024; i++)
out.write(i);
//bufferul nu este plin -> in fisier nu s-a scris nimic
out.flush();
//bufferul este golit -> datele se scriu în fisier

Metoda readLine

BufferedReader br = new BufferedReader(new FileReader("in"))
String input;
while ((input = br.readLine()) != null)

Metoda readLine permite citirea unui flux linie cu linie.


Document Info


Accesari: 1154
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 )