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
DataOutputStream
FileInputStream
Byteinputstreamyangmembacadarifile.
FileOutputStream
Byteoutputstreamyangmenuliskankefile.
PrintStream
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
StringReader
StringWriter
2 ByteStream
Class
yang
mengimplentasikan
byte
Stream
merupakan
turunan
dari
TableI.3DaftarmethodyangdidefinisikanolehclassInputStream.
Method
Intavailable()
Fungsi
Mengembalikan jumlah byteyang dapat
dibaca/dikembalikanolehInputStreamini
Void
mark(int
readLimit)
Boolean
markSupported()
mendukungmethodmark()dan reset().
Membaca sejumlah byte berikutnya dari
Intread()
Intread(byte[]b)
Voidreset()
Longskip()
TabelI.4DaftarmethodyangdidefiniskanolehclassOutputStream.
Method
Fungsi
Menutup OutputStream dan membebaskan
Voidclose()
Voidflush()
Voidwrite(byte[]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.