File Input/Output

Input Device
keyboard
media penyimpan data (HDD,disket, CD, flash disk)

Output Device
monitor
printer
media penyimpanan data

Transfer Data
Konsep aliran data dalam Java => Stream
Stream digunakan untuk menangani perpindahan data dari memory ke device/bagian input/output dan sebaliknya.
Transfer data  perpindahan byte atau karakter yang akan membentuk suatu file.
Dalam Java, proses transfer ini ditangani oleh package java.io

Bekerja dengan file
Membuat objek file dari kelas File
File finput = new File(“C:\latihan\input.dat”);
File foutput = new File(“C:\latihan\output.dat”);

Mengasosiasikan objek file dengan objek stream
FileInputStream fis = new FileInputStream(finput);
FileOutputStream fos = new FileOutputStream(foutput);

Memasukkan objek stream ke buffer [optional]
BufferedInputStream bufIn = new BufferedInputStream(fis);
BufferedOutputStream bufOut = new BufferedOutputStream(fos);

Membaca atau mengirimkan data ke objek stream atau buffer
int dataMasukan = fis.read();
fos.write(dataMasukan);

Menutup objek stream atau buffer dan objek lain
fis.close();
fos.close();
bufIn.close();
bufOut.close();
finput.close();
foutput.close();
Langkah – langkah diatas adalah langkah umum, class stream yang digunakan dapat berbeda sesuai keperluan

Bekerja dengan Command Console
menuliskan String ke console => print() dan println() dari class System
Membaca data dari console tidak sesederhana menampilkan data ke layar monitor
Langkah – langkah membaca data dari console :
Membuat objek dari kelas InputStreamReader
InputStreamReader dataIn = new InputStreamReader(System.in);
Menampung objek stream ke buffer
BufferedReader bufIn = new BufferedReader(dataIn);
Membaca data dari objek stream
String data = bufIn.readLine();
=>menghasilkan nilai String, sehingga harus dilakukan parsing data jika menginginkan nilai dengan tipe data lain
=>misal: modifikasi kasus balok dengan inputan user

Stream
Stream => aliran data
berupa aliran byte atau karakter, dari input device ke output device pada saat program eksekusi
Ada 2 macam stream :
Byte => membawa data berupa nilai integer dengan range 0 – 255
Character => membawa data berupa teks (representasi karakter ASCII dan unicode)

Class – Class Stream
File Stream
Digunakan saat membaca atau menulis dari dan ke dalam file
Format byte
Class yang digunakan : FileInputStream & FileOutputStream

Character Stream
Merepresentasikan karakter ASCII atau Unicode dari suatu file text
Class yang digunakan : File Reader & FileWriter

PrintStream
Agar stream byte dapat disimpan dalam bentuk nilai
Class yang digunakan : PrintStream & PrintWriter

Filter Stream / Data Stream
Untuk memperlakukan aliran data bukan sebagai aliran yang merepresentasikan byte atau karakter, melainkan sebagai tipe data primitif
Untuk memfilter format stream byte menjadi format tipe data primitif
Class yang digunakan : DataInputStream & DataOutputStream

Buffered Stream
Untuk mengefisiensikan proses baca/tulis stream
Class yang digunakan :
BufferedInputStream & BufferedOutputStream untuk class FileInputStream & FileOutputStream
BufferedReader & BufferedWriter untuk class DataInputStream, DataOutputStream, FileReader dan FileWriter
try {
FileWriter fw = new FileWriter(nama);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("=====Data Balok=========\n");
bw.write("Panjang : "+String.valueOf(pj)+"\n");
bw.write("Lebar : "+String.valueOf(lb)+"\n");
bw.write("Tinggi : "+String.valueOf(tg)+"\n");
bw.write("Volume : "+String.valueOf(getVolume()));
bw.close();
fw.close();
}catch(IOException io) {
System.out.println("eror io : "+io.getMessage());
}
try {
FileReader fr = new FileReader(nama);
BufferedReader bfr = new BufferedReader(fr);
String isiFile = null;
System.out.println("Isi file " + nama + " :");
System.out.println("---------------");
while ((isiFile = bfr.readLine()) != null) {
System.out.println(isiFile);
}
bfr.close();
fr.close();
}catch(IOException io) {
System.out.println("eror io : "+io.getMessage());
}

file java input/output lainnya,,maybe sama,,hehe

0 comments:

Post a Comment

 
 
 
 
Copyright © artikel39