Haloo meskipun saya sedang sakit saya mencoba utk sedikit memposting yg tentang Pemrograman Java ,
semoga bisa dipahami & bermanfaat ^^
Package Java.Io
Package java.io berisi kelas yang berhubungan dengan I/O di Java, dibagi menjadi beberapa kelas, yaitu :
- Reader/Writer dan turunannya
- InputStream/OutputStream dan turunannya
- I/O Network (socket TCP/IP)
- Exception
Kelas Abstrak pada java.io
• Ada 4 kelas abstrak dasar
– Reader
– Writer
– InputStream
– OutputStream
• Reader dan Writer digunakan untuk data teks
• InputStream dan OutputStream digunakan untuk data biner
Kelas Reader/Writer
• Kelas Reader/Writer bekerja pada stream teks (bahasa apapun)
• Disebut juga character stream
• Menangani konversi teks Unicode secara otomatis
• Jangan dipertukarkan dengan InputStream/OutputStream secara sembarangan
• Hasilnya bisa error
Diagram Kelas Reader dan Turunannya
Diagram Kelas Writer dan Turunannya
Kelas InputStream/OutputStream
• InputStream dan OutputStream
digunakan untuk mengakses informasi non teks ( biner ) disebut juga sebagai byte stream.
Contoh data biner: File EXE, file GIF
• InputStream/OutputStream
Tidak menangani konversi teks Unicode secara otomatis
Diagram Kelas InputStream dan Turunannya
Diagram Kelas OutputStream dan Turunannya
Input dan Output File
• Gunakan FileInputStream dan FileOutputStream
untuk membaca menulis file non teks
• Gunakan FileReader/FileWriter
untuk file teks
Contoh Membuka file untuk dibaca :
• Cara untuk membuka file (untuk dibaca):
FileInputStream s = newFileInputStream(“test.dat”);
• Cara untuk membaca satu byte:
int a = s.read()
• Tersedia juga method untuk membaca array of byte
• Prototype read adalah :
int read()
– Perlu dicast ke byte untuk membaca sebagai byte
– Memakai int supaya cukup merepresentasikan -1
Contoh Membuka file untuk ditulis :
• Cara untuk membuka file (untuk ditulisi):
FileOutputStream out = new
FileOutputStream(“test.out”);
• Intruksi untuk menulis satu byte:
– Out.write(‘a’)
• Tersedia juga method untuk menulis array of byte
Memakai File Reader/File Writer
• Sama seperti contoh sebelumnya
Ganti nama kelas FileInputStream dengan FileReader dan FileOutputStream dengan File
Tetap gunakan read/write
• Perhatikan bahwa
Nilai kembalian
Wrapper
• Stream dapat dikomposisi atau difilter atau dibungkus untuk menghasilkan stream yang lebih kompleks
• Konsep ini mirip dengan pipe di Unix/Windows
• Contoh:
– BufferedReader yang menyediakan readLine()
– PipedWriter/PipedReader untuk mempipe suatu stream
– PrintStream/PrintWriter untuk menulis ke stream dengan mudah
Contoh Wrapper: BufferedReader :
• Perhatikan potongan kode berikut:
BufferedReader br*= newBufferedReader(newFileReader(“hello.txt”));
//membaca 1 baris
String teks = br.readLine();
• BufferedReader membungkus (wraps) FileReader untuk menyediakan method readLine()
Contoh Wrapper: PrintWriter :
• Perhatikan potongan kode berikut:
PrintWriter pr = new
PrintWriter(newFileWriter(“hello.txt”));
//Menulis 1 baris
pr.println(“Hello “);
• PrintWriter membungkus (wraps)
FileWriter untuk menyediakan method print(), println() untuk semua tipe data dasar