Java I/O vodič

Java I/O vodič

Java I/O (ulaz i izlaz). za obradu unosa i proizvesti izlaz .

Java koristi koncept toka kako bi I/O rad bio brz. Paket java.io sadrži sve klase potrebne za ulazne i izlazne operacije.

Možemo nastupiti rukovanje datotekama u Javi putem Java I/O API-ja.

Stream

Tok je niz podataka. U Javi je tok sastavljen od bajtova. Zove se potok jer je poput struje vode koja nastavlja teći.

U Javi nam se automatski kreiraju 3 streama. Svi ti streamovi priloženi su uz konzolu.

1) System.out: standardni izlazni tok

2) System.in: standardni ulazni tok

3) System.err: standardni tok grešaka

Pogledajmo kod za ispis izlaz i greška poruku konzoli.

 System.out.println('simple message'); System.err.println('error message');  

Pogledajmo kôd koji treba dobiti ulazni s konzole.

 int i=System.in.read();//returns ASCII code of 1st character System.out.println((char)i);//will print the character  
Znaš li?
  • Kako zapisati zajedničke podatke u više datoteka koristeći samo jedan tok?
  • Kako možemo pristupiti većem broju datoteka putem jednog toka?
  • Kako možemo poboljšati performanse operacije ulaza i izlaza?
  • Na koliko načina možemo očitati podatke s tipkovnice?
  • Što znači klasa konzole?
  • Kako komprimirati i dekomprimirati podatke datoteke?

OutputStream vs InputStream

Objašnjenje klasa OutputStream i InputStream dano je u nastavku:

OutputStream

Java aplikacija koristi izlazni tok za pisanje podataka na odredište; to može biti datoteka, polje, periferni uređaj ili utičnica.

InputStream

Java aplikacija koristi ulazni tok za čitanje podataka iz izvora; to može biti datoteka, niz, periferni uređaj ili utičnica.

Razmotrimo rad Java OutputStream i InputStream pomoću donje slike.

Java IO

OutputStream klasa

Klasa OutputStream je apstraktna klasa. To je superklasa svih klasa koje predstavljaju izlazni tok bajtova. Izlazni tok prihvaća izlazne bajtove i šalje ih u neki odvodnik.

Korisne metode OutputStreama

metoda Opis
1) javni void pisanje(int) izbacuje IOException koristi se za pisanje bajta u trenutni izlazni tok.
2) javni void write(byte[]) izbacuje IOException koristi se za pisanje niza bajtova u trenutni izlazni tok.
3) public void flush() izbacuje IOException ispire trenutni izlazni tok.
4) public void close() izbacuje IOException koristi se za zatvaranje trenutnog izlaznog toka.

Hijerarhija izlaznog toka

Hijerarhija Java izlaznog toka

InputStream klasa

InputStream klasa je apstraktna klasa. To je nadklasa svih klasa koje predstavljaju ulazni tok bajtova.

Korisne metode InputStream-a

metoda Opis
1) public abstract int read() izbacuje IOException čita sljedeći bajt podataka iz ulaznog toka. Vraća -1 na kraju datoteke.
2) public int available() izbacuje IOException vraća procjenu broja bajtova koji se mogu pročitati iz trenutnog ulaznog toka.
3) public void close() izbacuje IOException koristi se za zatvaranje trenutnog ulaznog toka.

InputStream hijerarhija

Hijerarhija Java ulaznog toka