You are on page 1of 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 BufferedInputStream Deskripsi 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 FileOutputStream PrintStream Byteinputstreamyangmembacadarifile. Byteoutputstreamyangmenuliskankefile. 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 BufferedReader Deskripsi Input character stream yang menggunakan buffer. Output character stream yang menggunakan buffer. Input character Stream yang membaca dari arraybertipeChar. Output character Stream yang menulis ke arraybertipeChar. Input character stream yang membaca dari file. outputcharacterstreamyangmenuliskefile. Inputstreamyangmengkonversidaribyteke char Output stream yang mengkonversi dari char kebyte Output karakter stream yang menambahkan PrintWriter method untuk memudahkan proses menulis ke suatu output. Method yang di tambahkan yaituprint()danprintln(). StringReader Input character Stream yang membaca dari String Output character stream yang menulis ke String

BufferedWriter

CharArrayReader

CharArrayWriter

FileReader FileWriter InputStreamReader

OutputStreamWriter

StringWriter

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 readLimit) Boolean markSupported() mark(int Menandai posisi saat ini dalam InputStream yang akan tetap valid hingga sebuah ReadLimitbytedibaca. Mengembalikan nilai true jika stream ini 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.

You might also like