Anda di halaman 1dari 6

PertemuanI

Stream
Bahasan : IOStream
Sasaran :Konsepdaristream
CharStreamandByteStream(basicIOoperation)
Materi

1. ProgramdalamjavamelakukanoperasiI/OdenganmenggunakanStreams.Streamssendiri
adalahadalahabststraksidarisesuatuyangdigunakanuntukmenulisataumenghasilkandan
membacaataumendapatkansuatuinformasi.
Secaraumum StreamdalamjavadibagidalamduabagianbesaryaituByteStream
dan Character Stream. Byte Stream sangat cocok untuk digunakan untuk operasi I/O data
biner (byte). Sedangkan Character Stream digunakan untuk menangani operasi I/O yang
menggunakankarakter.Dalambeberapakasus,sepertimenanganioperasiI/Oyangmenulis
dan membaca data yang berupa String, penggunaan character Stream ini lebih effisien.
SemuakelasdaninterfaceyangberhubungandenganStreamadadalampackagejava.io.*.
TableI.1DaftarbeberapaclassbertypebyteStreams
class

Deskripsi

BufferedInputStream

ByteinputStreamyngmenggunakanbuffer

BufferedOutputStream ByteoutputStreamyngmenggunakanbuffer
ByteArrayInputStream Byte input stream yang membaca dari array
bertypebyte(InputStream)
ByteArrayInputStream Byteoutputstream yang menuliskearray bertype
byte(OutputStream)
DataInputStream

Byte input stream yang memiliki method untuk


membacainputyangbertypedatastandartJava.

DataOutputStream

Byte output stream yang memiliki method untuk


menuliskan output yang bertype data standart
Java.

FileInputStream

Byteinputstreamyangmembacadarifile.

FileOutputStream

Byteoutputstreamyangmenuliskankefile.

PrintStream

Byte output Stream yang menambahkan method


untuk memudahkan proses menulis ke suatu
output. Method yang ditambahkan adalah print()
dan println(). Object yang referensinya dipegang
oleh Sytem.outjugabertipePrintStream.

TabelI.2DaftarbeberapaclassbertipeCharacterStreams.
Class

Deskripsi
Input character stream yang menggunakan

BufferedReader

buffer.
Output character stream yang menggunakan

BufferedWriter

buffer.
Input character Stream yang membaca dari

CharArrayReader

arraybertipeChar.
Output character Stream yang menulis ke

CharArrayWriter

arraybertipeChar.
Input character stream yang membaca dari

FileReader

file.

FileWriter

outputcharacterstreamyangmenuliskefile.

InputStreamReader

OutputStreamWriter

Inputstreamyangmengkonversidaribyteke
char
Output stream yang mengkonversi dari char
kebyte
Output karakter stream yang menambahkan
method untuk memudahkan proses menulis

PrintWriter

ke suatu output. Method yang di tambahkan


yaituprint()danprintln().

StringReader

StringWriter

Input character Stream yang membaca dari


String
Output character stream yang menulis ke
String

2 ByteStream
Class

yang

mengimplentasikan

byte

Stream

merupakan

turunan

dari

OutputStream.class dan InputStream.class. Secara umum cara penggunaan class tersebut


adalah sama. Secara dasar perlu diketahui method yang dideklarasikan oleh superclass
InputStreamdanOutputStreamuntukdapatmenggunakanclassclasstersebut.Berikut
inidalahdaftarmethodyangdideklarasikanolehkeduasuperclasstersebut:

TableI.3DaftarmethodyangdidefinisikanolehclassInputStream.
Method
Intavailable()

Fungsi
Mengembalikan jumlah byteyang dapat
dibaca/dikembalikanolehInputStreamini

Menutup InputStream dan membebaskan


Voidclose()

semua resource yang berhubungan dengan


Streamini.

Void

mark(int

readLimit)

Menandai posisi saat ini dalam InputStream


yang akan tetap valid hingga sebuah
ReadLimitbytedibaca.

Boolean

Mengembalikan nilai true jika stream ini

markSupported()

mendukungmethodmark()dan reset().
Membaca sejumlah byte berikutnya dari

Intread()

InputStream, dan mengembalikan nilainya


sebagaiinteger.
Membaca sejumlah byte dari InputStream

Intread(byte[]b)

meletakkannya ke dalam buffer array b dan


mengemblikan jumlah byte yang berhasil
dibaca.
Membaca sejumlah byte dari InputStream

Int read(byte [] b, int meletakkannyakedalambufferarraybmulai


offset,intlength)

dari posisi offset (b[off]) dan mengemblikan


jumlahbyteyangberhasildibaca.
Mengembalikan posisi pembacaan stream ke

Voidreset()

posisi dimana terakhir kali method mark()


dipanggil.

Longskip()

Mengacuhkan / melompati (skip) sejumlah n


bytedariInputStream.

TabelI.4DaftarmethodyangdidefiniskanolehclassOutputStream.
Method

Fungsi
Menutup OutputStream dan membebaskan

Voidclose()

semua resource yang behubungan dengan


streamini.

Voidflush()
Voidwrite(byte[]b)

Mengosongkan buffer dan menuliskan semua


outputketujuannya.
MenuliskanisiarraykeOutputStream.

Voidwrite(byte[]b,int Menuliskan isi array ke OutputStream mulai


offset,intlength)
Abstract void write(int
b)

dariposisioffsetsebanyaklength
MenuliskansebuahbytedatakeoutputStream

ContohProgram :
1. Inputkarakter

importjava.io.*;
publicclassinputkarakter{
publicstaticvoidmain(Stringargs[])throwsIOException
{
System.out.println("masukkansembarangkarakter");
InputStreamReaderin=newInputStreamReader(System.in);
BufferedReaderbr=newBufferedReader(in);
charch=(char)br.read();
System.out.println("Karakteryangdimasukkanyaitu \'"+ch+"\'");
}
}

2. Bacafile

importjava.io.*;
publicclassbacafile{
publicstaticvoidmain(Stringargs[])
{ FileInputStreaminput=null;
intdata;
//membukafile
try{
input=newFileInputStream("f:/template/bacalah.txt");
}catch(FileNotFoundExceptionfn){System.out.println("filegaktemu");}
//membacadatadaridalamfile
try{
while((data=input.read())!= 1){
System.out.print((char)data);
}
System.out.println();
}catch(IOExceptionin){
System.out.println(in.getMessage());
}//menutupfile
try{
input.close();
}catch(IOExceptione){}
}
}

3. Tulisfile

importjava.io.*;
publicclasstulisfile{
publicstaticvoidmain(Stringargs[])
{
FileOutputStreamout=null;
Stringdata="oksmangat";
//bukafile
try{
out=newFileOutputStream("f:/template/about.txt");
}catch(FileNotFoundExceptionfn){
System.out.println("Filetidakditemukan");
}
//menulis
try{
for(inti=0;i<data.length();i++)
{ //konfersidata
out.write((int)data.charAt(i));
}
}catch(IOExceptionio){
System.out.println(io.getMessage());
}
//tutup
try{
out.close();
}catch(IOExceptioneo){}
}
}

Tugasdilaboratorium :
1. Buatlah program yang membaca input text dari keyboard dan menyimpannya dalam
sebuah variable kemudian menampilkan inputan tersebut ke layar. Inputan berupa satu
kalimatatauparagraph.
2. Buatlah program yang membaca input angka bulat maupun pecahan kemudian
menyimpan dalam sebuah variable dan membaca input angka kembali dan
menyimpannya dalamvariable kedua lalu outputkanperkalianke dua variable tersebut
kelayar.
3. buatlahprogramuntukmengkopi isisebuahfilekefilelain.

Tugaspraktikum:
1. Buatlah program kalkulator sederhana dengan menggunakan 3 inputan dimana inputan
pertama dan kedua adalah bilangan dan inputan yang ketiga adalah operasi yang akan
digunakanyaitutambah,kurang,kali,danbagi.
2. Buatlahprogramuntukmenggabungkanfile.Bacasebuahfilelalusimpanisitersebutke
variable dan membaca file kedua lalu menyimpannya pada variable kedua kemudian
menggambungkankeduafile tersebutdalamsatu file.
3. Buatlah program untuk simpan file kedalam direktori d . Sebelum menyimpan program
secara otomatis akan memeriksa apakah di direktori d terdapat folder dengan nama
penyimpanan. Apabila belum ada maka program secara otomatis membuat folder
dengan nama penyimpanan kemudian file yang ada isinya tersebut disimpan
didalamnya.
4. Buat program simulasi dari dos prompt dalam windows. Jadi setelah membuat file
dengan isinya dan disimpan didirektori tertentu. Untuk mengetahui keberadaan file
ketikkan dir. Maka seluruh folder yang ada di direktori terbesut akan muncul dan
kelihatanfileyangtelahkitabuat.

Anda mungkin juga menyukai