STIMATA
Pemrograman Java
36
System.out.printlnFile tidak ditemukan; return; Keluar dari method
} Membaca data dari dalam file
try{ while data = finput.read= -1 {
konversi data ke type char System.out.printlnchar data;
} }catch IOException e{
System.out.printlne.getMessage; return;
} Menutup File
try { finput.close;
}catch IOException e{} }
}
D. Praktek
Progam berikut ini, membangun sebuah program aplikasi yang dapat digunakan untuk menuliskan kalimat dengan menggunakan class-class di java.io.
Ketik kode berikut ini dan simpan dengan nama baca.java, compile dan kemudian jalankan.
import java.io.; public class baca StringReader
{ public static void main String[] args
{ System.out.printlnKetik Kalimat, Kemudian tekan Tombol Enter.;
String string = ; InputStreamReader input = new InputStreamReaderSystem.in;
BufferedReader reader = new BufferedReaderinput; membaca iputan dari user
try {
string = reader.readLine; }
catchException e{} System.out.printlnTulisan Anda: + string;
menunggu diketik kata “ENTER” atau ditekan tombol ENTER untuk keluar System.out.printlnTekanKetik Enter untuk keluar;
try {
string = reader.readLine; }
catchException e{
System.out.println Ada kesalahan;} }
}
STIMATA
Pemrograman Java
37
Modul 9 : Kelas File
A. Latar Belakang
Dasar Teori kelas File yang disampaikan secara teoritis dalam sesi kuliah tatap muka dikelas mengakibatkan mahasiswa memahami secara abstrak sebatas jangkauan pikirannya. Diperlukan
aktivitas yang dapat merangsang pemahaman berdasar pengalaman dengan cara mempraktekkan dalam program yang diharapkan mampu menguatkan pemahaman teoritis
diperkuiahan.
B. Tujuan
Setelah melakukan kegiatan ini, mahasiswa diharapkan mempunyai kompetensi dalam
Membaca file Menyimpan file
C. Dasar Teori
Menulis Teks Untuk membaca sebuah file, Anda dapat menggunakan class FileInputStream. Berikut ini adalah
salah satu constructor dari class tersebut : FileInputStreamString filename.
Constructor tersebut membuat sebuah koneksi terhadap file dimana nama dari file tersebut ditunjukkan sebagai sebuah argument. Exception berupa FileNotFoundException akan muncul
jika file tidak ditemukan atau tidak dapat dibuka dan kemudian dibaca. Setelah membuat sebuah input stream, Anda kemudian dapat menggunakannya untuk membaca
sebuah file dengan menggunakan method read. Method read menghasilkan sebuah nilai integer, dan akan menunjukkan nilai 1 jika telah mencapai batas akhir file.
Berikut ini diberikan aplikasinya untuk membaca sebuah file
Menyimpan Fille Untuk menuliskan sebuah file, Anda dapat menggunakan class FileOutputStream.
Berikut ini salah satu constructor yang dapat Anda gunakan. FileOutputStreamString filename
Constructor tersebut menyediakan jalur output stream terhadap sebuah file yang akan ditulis. Sebuah Exception berupa FileNotFoundException akan muncul jika file yang dimaksud tidak
dapat dibuka untuk ditulis. Jika output stream telah dibuat, Anda dapat menggunakannya untuk menulis file yang dituju
penggunakan method write. Method tersebut menggunakan penandaan sebagai berikut : void writeint b
Parameter b mereferensikan data yang akan dituliskan pada file sesuai dengan hasil output stream.
Program berikut menunjukkan contoh penulisan terhadap file :
STIMATA
Pemrograman Java
38
author Irul import java.io.;
class TulisFile { public static void mainString args[] throws IOException {
System.out.printlnNama File apa yang akan Anda tulis?; String filename;
BufferedReader br = new BufferedReadernew InputStreamReaderSystem.in;
filename = br.readLine; System.out.printlnMasukkan Nama File + filename + ... ;
System.out.printlnKetik E to end.; FileOutputStream fos = null;
try { fos = new FileOutputStreamfilename;
}catch FileNotFoundException ex { System.out.printlnFile tidak dapat dibuka .;
} try {
boolean done = false; int data;
do { data = br.read;
if chardata == E { data = br.read;
if chardata == { done = true;
} else {
fos.writeE; fos.writedata;
} }
else { fos.writedata;
} } while done;
} catch IOException ex { System.out.printlnBaca file bermasalah;
} }
}
Membaca Fille import java.io.;
class ReadFile { public static void mainString args[] throws IOException {
System.out.printlnFile Apa yang akan dibuka?; String filename;
BufferedReader br = new BufferedReadernew InputStreamReaderSystem.in;
filename = br.readLine; System.out.printlnBaca File + filename + ...;
FileInputStream fis = null;
STIMATA
Pemrograman Java
39
try { fis = new FileInputStreamfilename;
}catch FileNotFoundException ex { System.out.printlnFile not found.;
} try {
char data; int temp;
do { temp = fis.read;
data = char temp; if temp = -1 {
System.out.printdata; }
} while temp = -1; }
catch IOException ex {
System.out.printlnBaca file bermasalah; }
} }
FileReader dan FileWriter
import java.io.; class CopyFile {
void copyString input, String output { FileReader reader;
FileWriter writer; int data;
try { reader = new FileReaderinput;
writer = new FileWriteroutput; while data = reader.read = -1 {
writer.writedata; }
reader.close; writer.close;
} catch IOException ie {
ie.printStackTrace; }
} public static void mainString args[] {
String inputFile = args[0]; String outputFile = args[1];
CopyFile cf = new CopyFile; cf.copyinputFile, outputFile;
} }
STIMATA
Pemrograman Java
40
BufferedReader dan BufferedWriter
Program menggunakan teknik dari perangkaian stream dimana clas FileReader dan FileWriter didekorasi dengan class BufferedReader dan BufferedWriter, berurutan.
BufferedReader ; BufferedWriter ;
import java.io.; class CopyFile {
void copyString input, String output { BufferedReader reader;
BufferedWriter writer; String data;
try { reader = new BufferedReadernew FileReaderinput;
writer = new BufferedWriternew FileWriteroutput; while data = reader.readLine = null {
writer.writedata, 0, data.length; }
reader.close; writer.close;
} catch IOException ie {
ie.printStackTrace;
System.out.println“bufferd bermasalah” }
} public static void mainString args[] {
String inputFile = args[0]; String outputFile = args[1];
CopyFile cf = new CopyFile; cf.copyinputFile, outputFile;
}
}
D. Latihan