logo

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.

java kodovi boja

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

java zbirke java

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.

razlika između lisice i vuka

Korisne metode OutputStreama

metodaOpis
1) javni void pisanje(int) izbacuje IOExceptionkoristi se za pisanje bajta u trenutni izlazni tok.
2) javni void write(byte[]) izbacuje IOExceptionkoristi se za pisanje niza bajtova u trenutni izlazni tok.
3) public void flush() izbacuje IOExceptionispire trenutni izlazni tok.
4) public void close() izbacuje IOExceptionkoristi 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

metodaOpis
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 IOExceptionvraća procjenu broja bajtova koji se mogu pročitati iz trenutnog ulaznog toka.
3) public void close() izbacuje IOExceptionkoristi se za zatvaranje trenutnog ulaznog toka.

InputStream hijerarhija

Hijerarhija Java ulaznog toka