Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 11

Veleuilite u Rijeci

Struni studije poslovne informatike

Seminarski rad

Klasa OutputStream

Student: Tihomir Brdar


Mentor: Ivan Pogari
Predmet: Objektno orijentirane tehnologije I

Rijeka, veljaa 2008.

Sadraj
Sadraj.....................................................................................................................................2
Uvod..........................................................................................................................................3
java.io Class BufferedWriter...................................................................................................3
lanovi klase BufferedWriter..........................................................................................4
Polja ( Fields ).........................................................................................................................4
Konstruktori ( Constructors )..................................................................................................5
BufferedWriter....................................................................................................................5
BufferedWriter....................................................................................................................5
Metode ( Methods ).................................................................................................................5
write....................................................................................................................................5
write....................................................................................................................................6
writer...................................................................................................................................6
newLine...............................................................................................................................7
flush.....................................................................................................................................7
close....................................................................................................................................7
Klasa Writer..........................................................................................................................8
java.io Class Writer.................................................................................................................8
Polja( Fields )..........................................................................................................................9
lock......................................................................................................................................9
Konstruktori ( Constructors )..................................................................................................9
Writer..................................................................................................................................9
Writer..................................................................................................................................9
Metode ( Methods ).................................................................................................................9
write....................................................................................................................................9
write..................................................................................................................................10
write..................................................................................................................................10
write..................................................................................................................................10
write..................................................................................................................................11
flush...................................................................................................................................11
close..................................................................................................................................11
Primjeri koritenja klase BufferedWriter................................................................12
BufferedWriter: close().........................................................................................................12
Primjer zapisivanja teksta u file............................................................................................12

Uvod

java.io Class OutputStream


java.lang.Object
java.io.OutputStream
Klasa OutputStream je apstraktna klasa i ona je super klasa svih klasa koje
prezentiraju izlazni tok podataka.
Izlazni tok prihvaa izlazne bajtove i alje ih u neki kanal.
Aplikacije to trebaju kako bi definirale podklasu od klase OutputStream koja mora dobaviti
barem jednu metodu koja e zapisati bajt u output.

lanovi klase OutputStream


Konstruktori ( Constructors )

OutputStream
public OutputStream ( )

Metode ( Methods )

write
public abstract void write (int b)
throws IOException
Pie specificirani bajt u njegov izlazni tok. Glavni dogovor za write je da je jedan bajt
upisan u izlazni tok. Bajt koji se treba upisati je osmi nisko poredan bit argumenta b. Visoko
poredan 24 bit od argumenta b je ignoriran.
Podklase od OutputStream mora omoguiti implementaciju ove metode.

Parametri:
b - bajt
Izuzeci:
Ako se dogodi I/O greka. Posebice IOException moe biti
izbaena ako je izlazni tok zatvoren.
IOException

write
public void write(byte[] b)
throws IOException

Ova metoda zapisuje b duinu bajtova iz specificiranog ajt polja u ovaj izlazni tok.
Glavni dogovor za write(b) je da bi trebao imati tono jednaki efekt kao poziv write(b, o,
b.length).

Parametri:
b podatak

Izuzeci:
IOException

Ako se dogodi I/O greka

writer
public void write(byte[] b, int off, int len)
throws IOException

Zapisuje duinu bajtova iz specificiranog bajt polja startajui kod granaja off ovog
izlaznog toka. Glavni dogovor za write (b, off, len) je da su neki bajtovi u polju b zapisani u
izlazni tok u poretku; element b[off] je prvi bajt koji je zapisan a b[off+len-1] je zadnji bajt
koji je zapisan ovom operacijom.
Ako je b jednak nuli, NullPointerException je poslana.
Ako je off negativan, ili je len negativan, ili ako je off+len vei od duine polja b, tada je
poslana iznimka IndexOutOfBoundsException.

Parametri:
b- podatak
off- startni ogranak u podatku
len broj bajtova za zapis
Izuzeci:
IOException Ako se dogodi I/O greka. Posebice IOException moe biti
izbaena ako je izlazni tok zatvoren.

flush
public void flush()
throws IOException

Poplavljuje ovaj izlazni tok i tjera svaki baferiran izlazni bajt da bude zapisan. Glavni
dogovor kod flush je da se pozove ako su indikacije za to, ako je bilo koji bajt prethodno
zapisan buferiran od impementacije izlaznog toka, takvi bajtovi moraju odmah biti zapisani na
njihovo zamiljeno mjesto.
Flush metoda OutputStream a ne radi nita.

Izuzeci:
IOException

Ako se dogodi I/O greka

close
public void close()
throws IOException

Zatvara ovaj izlazni tok i puta sve sistemske resurse povezane sa ovim tokom. Glavni
dogovor kod close je ta zatvori izlazni tok. Zatvoreni tok ne moe initi izlazne operacije i ne
moe biti ponovno otvoren.
Close metoda OutputStream a ne radi nita.

Izuzeci:
IOException

Ako se dogodi I/O greka

Klasa OutputStreamWriter
java.io Class OutputStreamWriter
java.lang.Object
java.io.Writer
java.io.OutputStreamWriter

Direktna podklasa - FileWriter


public class OutputStreamWriter
extends Writer
OutputStreamWriter je most izmeu znakovnog toka i bajtovnog toka. Znakovi
zapisani u njega su kodirani u bajtove koristei specijalni charset. Taj skup znakova koji on
koristi moe biti specificiran imenim ili moe biti dat eksplicitno, ili moe biti prihvaen
znakovni skup platforme.
Svaka invookacija write() metode uzrokuje da konverter za kodiranje bude pozvan na
zadanim znakovima. Rezultirani bajtovi su nakupljeni u buferu prije nego to su zapisani u
donji izlazni tok. Veliina ovog bufera moe biti specificirana ali i default veliina je dovoljno
velika za veinu namjena. Znakovi prebaeni write() metodom nisu buferirani.
Za vrhunsku efikasnost, uzimajui u obzir omotavanje OutputStreamWriter a izmeu
BufferedWriter a kako bi se izbjegle uestale invokacije konvertera. Na primjer:
Writer out
= new BufferedWriter(new OutputStreamWriter(System.out));

Polja( Fields )
lock
lock

Konstruktori ( Constructors )
OutputStreamWriter
Public OutputStreamWriter(OutputStream out, String charsetName)
Throws UnsupportedEncodingException

Kreira OutputStreamWriter koji koristi navedeni skup znakova.


Parametri:
out izlazni tok
charsetName naziv skupa znakova
Izuzeci:
UnsupportedEncodingException

Ako navedeno kodiranje nije podrano

OutputStreamWriter
public OutputStreamWriter(OutputStream out)

Kreira OutputStreamWriter koji koristi zadano znakovno kodiranje


Parametri:
out izlazni tok

OutputStreamWriter
public OutputStreamWriter(OutputStream out, Charset cs)

Kreira OutputStreamWriter koji koristi zadani skup znakova.


Parametri:
out izlazni tok
cs skup znakova

OutputStreamWriter
public OutputStreamWriter(OutputStream out, CharsetEncoder enc)

Kreira OutputStreamWriter koji koristi zadani skup znakova za kodiranje


Parametri:
out izlazni tok
enc skup znakova za kodiranje

Metode ( Methods )
getEncoding
public String getEncoding()

Vraa ime znaka za kodiranje koji je koriten od strane toka.


Ako kodiranje ima povijesno ime, ime je vraeno, inae je kodirano kanoniko ime vraeno.
Ako je kreirana instanca sa OutputStreamWriter(OutputStream, String) , konstruktor
tada vraeno ime, koje je jedinstveno za kodiranje moe razlikovati od imena poslanom
konstruktoru. Ova metoda moe vratiti vrijednost nule ako je tok zatvoren.

write
public void write(int c)
throws IOException

Zapisuje jedan znak.


Parametri:
c int specificira znak koji e biti zapisan
Izuzeci:
IOException

Ako se dogodi I/O greka

write
public void write(char[] cbuf, int off, int len)
throws IOException

Zapisuje dio iz polja znakova.


Parametri:
cbuf Polje znakova

off - ogranak od kuda poinje pisanje znakova

len broj znakova za zapisivanje


Izuzeci:
IOException

Ako se dogodi I/O greka

write
public void write(String str, int off, int len)
throws IOException

Zapisuje dio stringova.


Parametri:
str string
off - ogranak od kuda poinje pisanje znakova
len broj znakova za zapisivanje
Izuzeci:
IOException

Ako se dogodi I/O greka

flush
public

void flush()

throws IOException

Poplavljuje tok.
Izuzeci:
IOException

Ako se dogodi I/O greka

close
public

void close()
throws IOException

Zatvara tok.
Izuzeci:
IOException

Ako se dogodi I/O greka

Primjeri koritenja klase BufferedWriter


*
* Java Network Programming, Second Edition
* Merlin Hughes, Michael Shoffner, Derek Hamner
* Manning Publications Company; ISBN 188477749X
*
* http://nitric.com/jnp/
*
* Copyright (c) 1997-1999 Merlin Hughes, Michael Shoffner, Derek Hamner;
* all rights reserved; see license.txt for details.
*/
import java.io.*;
public class SimpleOut {
public static void main (String[] args) throws IOException {
for (int i = 0; i < args.length; ++ i) {
println (args[i]);
}
}

public static void println (String msg) throws IOException {


synchronized (System.out) {
for (int i = 0; i < msg.length (); ++ i)
System.out.write (msg.charAt (i) & 0xff);
System.out.write ('\n');
}
System.out.flush ();
}

/* all of the write() methods of class OutputStream are declared as


throwing IOException */

You might also like