(File) input/output
02 Aug 2012 Kategori: PemrogramanStream berhubungan dengan proses input/output di java. Stream yang terkenal dan sudah ada di java yaitu : System.in (membaca dari keyboard), System.out (Mengirimkan keluaran ke layar/output), System.err (Mengirimkan pesan kesalahan). Perhatikan 2 contoh pernyataan berikut ini :
System.out.print("Belajar");
System.out.println("Java");
Perbedaan kedua statement diatas adalah statement pertama akan menampilkan ke layar tanpa baris baru, sedangkan statement kedua menampilkan di baris baru.
Sekarang kita mulai dengan InputStream terlebih dahulu. Untuk metode read() ada 3 macam. Metode yang pertama sebagai berikut : public abstract int read(); Contoh program :
import java.io.*;
public class BacaString {
public static void main(String[] args) {
int kar;
String st = "";
boolean selesai = false;
System.out.print("Input suatu kalimat:");
while (!selesai) {
try {
kar = System.in.read ();
if (kar < -1 || kar == '\n')
selesai = true;
st = st + (char) kar;
}
catch (IOException i) {
System.err.println("Kesalahan baca");
selesai = true;
}
}
System.out.println("String: " + st);
}
}
Pada program ini, dengan kita menginput sebuah string dan diakhir dengan enter (\n) maka kita menyimpan dengan menggunakan metode System.in.read(). Statement try () dan catch() digunakan untuk menangkap pesan kesalahan, apabila terjadi. Bentuk read() yang kedua adalah public abstract int read(byte buffer); Contoh program membaca array :
import java.io.*;
public class BacaArray {
public static void main(String[] args) {
int jum = 0;
byte[] buffer = new byte[8];
System.out.print("Ketikkan suatu kata:");
try {
jum = System.in.read(buffer);
}
catch (IOException i) {
System.err.println("Kesalahan baca");
System.exit(1);
}
System.out.println("Jumlah byte: " + jum);
System.out.println("Isi array: ");
// menampilkan array
for (int i = 0 ; i < jum ; i++) {
System.out.print("Karakter ke-" + i + " : ");
if (buffer[i] > 32)
System.out.print((char)buffer[i]);
else
System.out.print("(" + buffer[i] + ")");
System.out.println(""); //pindah baris
}
}
}
Bentuk read() yang ketiga adalah public abstract int read(byte[] buffer, int ofset, int jumlah); Contoh program Array dengan parameter :
import java.io.*;
public class ReadTiga {
public static void main(String[] args) {
byte[] buffer = new byte[8];
// isi array
buffer[0] = (byte) 'A'; buffer[1] = (byte) 'B'; buffer[2] = (byte) 'C'; buffer[3] = (byte) 'D'; buffer[4] = (byte) 'E'; buffer[5] = (byte) 'F'; buffer[6] = (byte) 'G'; buffer[7] = (byte) 'H';
System.out.print("Masukkan 2 sampai 4 huruf:");
try {
System.in.read(buffer, 2, 4);
}
catch (IOException i) {
// do nothing
}
System.out.println("Hasil:");
for (int i = 0; i < buffer.length; i++) {
System.out.print("Ke-" + i + ": ");
if (buffer[i] > 32 )
System.out.println((char) buffer[i]);
else
System.out.println("(" + buffer[i] + ")");
}
}
}
Sekarang mari kita beralih ke OutputStream. Kelas ini juga berada pada paket java.io dan bentuk metode yang paling penting adalah write(). Juga terdapat 3 macam bentuk metode. Pertama, public abstract void write(int b); .