Pemrog. Berorientasi Objek **, Pertemuan Ke-10
Noviyanto, ST Halaman 1
STREAM DAN FILE
Proses penulisan dan pembacaan data sering kita sebut dengan proses input dan
output, dimana penulisan data berarti mengalirkan data ke output dan menerima atau
mendapatkan data dari input.
A. Stream
Stream merupakan dasar operasi input-output ( I/O ) dalam Java yang menggunakan
package java.io sebagai package utama. Stream adalah representasi abstrak dari input
dan output device, dimana aliran bytes akan ditransfer seperti file dalam harddisk, file
pada sistem remote atau printer. Kita dapat membaca data dari input stream, yang
dapat berupa file, keyboard atau komputer remote. Sedangkan untuk operasi penulisan
berarti menulis data pada output stream. Package java.io mendukung dua tipe stream,
yaitu binari dan karakter stream. Binari merupakan
data berupa bit atau data binari, sedangkan karakter adalah tipe khusus untuk
pembacaan dan penulisan teks/karakter.
B. Input Stream
Subclass-subclass dari inputStream adalah :
AudioInputStream,
ByteArrayInputStream,
FileInputStream,
FilterInputStream,
PipedInputStream,
SequenceInputStream, dan
StringBufferInputStream.
Dua method utama dari InputStream adalah :
Read
Method ini digunakan untuk membaca stream.
Close
Method ini digunakan untuk menutup koneksi input stream.
Latihan 38. InputStream.java
import java.io.*;
class InputStream {
public static void main(String[] args) throws IOException {
byte[] data = new byte[10];
System.out.print("Ketik 10 buah karakter :");
System.in.read(data);
System.out.print("Karakter yang Anda ketik yaitu : ");
for(int i=0;i<data.length;i++) {
System.out.print((char)data[i]); }
}
}
C. Output Stream
Subclass-subclass dari outputStream adalah :
ByteArrayOutputStream : digunakan untuk menuliskan stream menjadi byte array.
FileOutputStream : digunakan untuk menulis pada file
FilterOutputStream : merupakan superclass dari subclass-subclass seperti
DataOutputStream, BufferOutputStream, PrintStream, CheckedOutputStream
ObjectOutputStream : digunakan untuk menuliskan objek pada OutputStream.
PipedOutputStream : digunakan untuk menjadi output dari PipedInputStream.
Pemrog. Berorientasi Objek **, Pertemuan Ke-10
Noviyanto, ST Halaman 2
Sebagian method-method OutputStream adalah :
Voidclose()
Menutup output stream yang aktif dan melepaskan sumber daya terkait dengan
stream tersebut
Void flush()
Melakukan flush output stream dan memaksa semua byte buffer untuk dituliskan
keluar
Void write(byte[] b)
Menulis sebanyak b.length dari byte array ke output stream
Void write(byte[] b, int off, int len)
Menuliskan sebanyak len byte dari byte array b dimulai dari index off
Latihan 39. OutputStream.java
import java.io.*;
class OutputStream {
public static void main(String[] args) throws IOException {
byte[] data = {'a','b','c','d','e','f','g'};
System.out.write(data,3,4);
System.out.write('n'); //pindah baris
System.out.write(data); //tulis semua isi array data }
}
D. DataOutputStream
DataOutputStream merupakan class yang menyediakan cara praktis untuk menuliskan
tipe data primitif ke output stream. Sebagian method DataOutputStream adalah :
writeDouble : berfungsi menuliskan data bertipe double ke output stream
writeInt : berfungsi menuliskan data bertipe integer ke output stream
writeBoolean : berfungsi menuliskan data boolean ke output stream
writeUTF : berfungsi menuliskan data string menggunakan encoding UTF-8 yang
tidak tergantung pada mesin.
E. DataInputStream
DataInputStream berfungsi untuk saling melengkapi dengan DataOutputStream, yaitu
untuk mendapatkan data yang ditulis dengan DataOutputStream. Sebagian method
DataInputStream adalah :
ReadDouble() : membaca data bertipe double
readInt() : membaca data bertipe integer
readBoolean() : membaca data Boolean
readUTF() : membaca data dengan encoding UTF-8
F. FileInputStream dan FileOutputStream
FileInputStream digunakan untuk membaca data dari file yang merupakan turunan
langsung dari class InputStream dan FileOutputStream untuk menuliskan data ke file
merupakan turunan langsung dari class OutputStream.
Latihan 40. FileInStream.java
import java.io.*;
class FileInStream {
public static void main(String[] args){
if(args.length==0) {
System.out.println("Anda harus memasukkan nama file sebagai parameternya.");
return; }
byte data;
FileInputStream fin=null;
try {
fin = new FileInputStream(args[0]);
do {
data = (byte)fin.read();
System.out.print((char)data);
}while(data!=-1);
}catch(FileNotFoundException e) {
System.out.println("File : " + args[0] + " tidak ditemukan.");
}catch(IOException e) {
System.out.println("Eksepsi tidak diketahui : " + e);
}finally {//tutup file
Pemrog. Berorientasi Objek **, Pertemuan Ke-10
Noviyanto, ST Halaman 3
if(fin!=null) {
try{
fin.close();
}catch(IOException err) {
System.out.println("Eksepsi tidak diketahui : " + err);
}
}
}
}
}
Latihan 41. FileOutStream
import java.io.*;
class FileOutStream {
public static void main(String[] args){
if(args.length==0) {
System.out.println("Anda harus memasukkan nama file sebagai parameternya.");
return; }
byte data;
FileOutputStream fout=null;
try{
fout = new FileOutputStream(args[0]);
System.out.println("Ketik data yang ingin Anda tulis ke file.");
System.out.println("Ketik Q jika Anda ingin berhenti.");
data = (byte)System.in.read();
while(data!=(byte)'Q') {
fout.write(data);
data = (byte)System.in.read(); }
}catch(FileNotFoundException e) {
System.out.println("File : " + args[0] + " tidak dapat dibuka atau dibuat.");
}catch(IOException e) {
System.out.println("Eksepsi tidak diketahui : " + e);
}finally { //tutup file
if(fout!=null) {
try{
fout.close();
}catch(IOException err) {
System.out.println("Eksepsi tidak diketahui : " + err);
}
}
}
}
}
Keterangan : file output1.txt sebenarnya tidak ada, dengan perintah diatas akan secara
langsung terbuat
Pemrog. Berorientasi Objek **, Pertemuan Ke-10
Noviyanto, ST Halaman 4
G. Class File
Class File merupakan langkah awal dalam mempelajari proses input-output dengan
Java, karena File merupakan objek yang mewakili path, file, atau direktori pada
harddisk. Ada tiga cara membuat objek File, yaitu :
Menggunakan objek string sebagai argumen yang menginformasikan path untuk file
atau direktori.
Menggunakan dua langkah, dimana yang pertama untuk mendefinisikan direktori
dan yang kedua untuk file.
Menggunakan dua argumen, dimana yang pertama adalah argumen string yang
mendefinisikan direktori, dan yang kedua adalah argumen string yang
mendefinisikan nama file.
H. FileWriter
Di dalam aplikasi web, disamping database, penggunaan file untuk menyimpan data
cukup banyak dilakukan karena kebutuhan penyimpanan data yang sederhana cukup
dengan menggunakan file. FileWriter merupakan subclass dari OutputStreamWriter
yang merupakan subclass dari class abstract Writer. Class FileWriter memiliki
konstruktor yang umum seperti berikut :
FileWriter ( File objekfile );
FileWriter ( String pathkefile );
FileWriter ( String pathkefile, boolean append );
Contoh penggunaan :
File inifile = (pathdirektori, namafile);
FileWriter outputnya = new FileWriter (inifile);
Latihan 42. MenulisFile.java
import java.io.*;
class MenulisFile {
public static void main(String[] args){
if(args.length==0) {
System.out.println("Anda harus memasukkan nama file sebagai parameternya.");
return; }
String data;
FileWriter fout=null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
try{
fout = new FileWriter(args[0]);
System.out.println("Ketik data yang ingin Anda tulis ke file.");
System.out.println("Ketik BERHENTI jika Anda ingin berhenti.");
data = br.readLine();
while(!data.equals("BERHENTI")){ // rn digunakan untuk pindah baris
fout.write(data + "rn");
data = br.readLine();
}
}catch(FileNotFoundException e) {
System.out.println("File : " + args[0] + " tidak dapat dibuka atau dibuat.");
}catch(IOException e) {
System.out.println("Eksepsi tidak diketahui : " + e);
}finally //tutup file
if(fout!=null) {
try{
fout.close();
}catch(IOException err) {
System.out.println("Eksepsi tidak diketahui : " + err);
}
}
}
}
}
Pemrog. Berorientasi Objek **, Pertemuan Ke-10
Noviyanto, ST Halaman 5
I. FileReader
FileReader merupakan class yang dapat digunakan untuk membaca file teks.
Konstruktor dari FileReader :
FileReader(File objekfile);
FileReader(String pathkefile);
Method yang digunakan :
Read(char[] array);
Read(char[] array, int offset, int length);
Contoh penggunaan :
File fileteks = new File(direktori, namafile);
FileReader baca = new FileReader(fileteks);
C=baca.read(char[] yang dibaca);
Latihan 43. BacaFile.java
import java.io.*;
class BacaFile {
public static void main(String[] args){
if(args.length==0) {
System.out.println("Anda harus memasukkan nama file sebagai parameternya.");
return; }
String data;
FileReader fin=null;
try{
fin = new FileReader(args[0]);
BufferedReader br = new BufferedReader(fin);
//bungkus objek FileReader dengan objek BufferedReader
do{
data = br.readLine();
System.out.println(data);
}while(data!=null);
}catch(FileNotFoundException e) {
System.out.println("File : " + args[0] + " tidak ditemukan.");
}catch(IOException e) {
System.out.println("Eksepsi tidak diketahui : " + e);
}finally { //tutup file
if(fin!=null) {
try{
fin.close();
}catch(IOException err) {
System.out.println("Eksepsi tidak diketahui : " + err);
}
}
}
}
}
Pemrog. Berorientasi Objek **, Pertemuan Ke-10
Noviyanto, ST Halaman 6
LATIHAN
1. Jelaskan tentang Byte Stream dan Character Stream, beserta dengan
perbedaan utamanya ?
2. Berikan contoh program untuk DataInputStream dan DataOutputStream !
3. Buatlah program untuk mengecek keberadaan file/isi pada direktori !
4. Buatlah program untuk mengkopi suatu file teks ! Nama file yang hendak
dikopi dan hasil kopianya harus dilewatkan sebagai parameter pada waktu
eksekusi.
Contoh eksekusi program :
Java kopi file1.txt file2.txt

More Related Content

DOC
Java
PDF
Modul belajar java I/O (Input/Ouptut)
PPT
Chapter 10. Operasi IO.ppt
PDF
Jeni Intro2 Bab05 Aplikasi Berbasis Teks
PDF
Network programming 04- Exception dan Stream
PDF
Jeni Intro2 Bab12 Stream Io Lanjut
PDF
Modul praktikum java pemrograman berorientasi objek
DOCX
Laporan praktikum Algoritma dan Pemrograman pertemuan 10
Java
Modul belajar java I/O (Input/Ouptut)
Chapter 10. Operasi IO.ppt
Jeni Intro2 Bab05 Aplikasi Berbasis Teks
Network programming 04- Exception dan Stream
Jeni Intro2 Bab12 Stream Io Lanjut
Modul praktikum java pemrograman berorientasi objek
Laporan praktikum Algoritma dan Pemrograman pertemuan 10

Similar to 10_STREAM DAN FILE.pdf (14)

PDF
001 belajar java dasar
PDF
Belajar Java Programming
PDF
Ii java input ouput
PPTX
Algoritma pemrograman 15
PDF
Belajar java-dasar
PDF
Belajar java-dasar
PDF
Latihan 1 Kode Program Java Mengimpor Scanner ke Program.pdf
DOC
Modul pbo baru
DOCX
Belajar Java dasar
PPTX
File Processing Persentasi
PPTX
Modul Kelas Programming : Java IO (Input & Output)
PPTX
04-Java Application programming interface.pptx
DOCX
Laporan1
PPTX
INFORMATIKA Rumpun Bisnis dan Manajemen_Bab 5 Algoritme Pemrograman dan Prakt...
001 belajar java dasar
Belajar Java Programming
Ii java input ouput
Algoritma pemrograman 15
Belajar java-dasar
Belajar java-dasar
Latihan 1 Kode Program Java Mengimpor Scanner ke Program.pdf
Modul pbo baru
Belajar Java dasar
File Processing Persentasi
Modul Kelas Programming : Java IO (Input & Output)
04-Java Application programming interface.pptx
Laporan1
INFORMATIKA Rumpun Bisnis dan Manajemen_Bab 5 Algoritme Pemrograman dan Prakt...
Ad

More from Jurnal IT (20)

PDF
Belajar Java Dasar
PDF
12_Sinkronisasi.pdf
PDF
11_GUI Pada Java.pdf
PDF
9_Multithreading.pdf
PDF
8_Penangan Eksepsi.pdf
PDF
7_Packages.pdf
PDF
6_String.pdf
PDF
5_Pewarisan.pdf
PDF
4_Array.pdf
PDF
3_Pengertian_Class_Object_Method.pdf
PDF
2_Struktur_kontrol.pdf
PDF
1_Pengenalan_Java.pdf
PDF
delphi part 13.pdf
PDF
delphi part 11.pdf
PDF
delphi part 8 new.pdf
PDF
delphi part 7 new.pdf
PDF
delphi part 6.pdf
PDF
delphi part 5.pdf
PDF
delphi part 4.pdf
PDF
delphi part 3.pdf
Belajar Java Dasar
12_Sinkronisasi.pdf
11_GUI Pada Java.pdf
9_Multithreading.pdf
8_Penangan Eksepsi.pdf
7_Packages.pdf
6_String.pdf
5_Pewarisan.pdf
4_Array.pdf
3_Pengertian_Class_Object_Method.pdf
2_Struktur_kontrol.pdf
1_Pengenalan_Java.pdf
delphi part 13.pdf
delphi part 11.pdf
delphi part 8 new.pdf
delphi part 7 new.pdf
delphi part 6.pdf
delphi part 5.pdf
delphi part 4.pdf
delphi part 3.pdf
Ad

Recently uploaded (20)

DOCX
Modul Ajar Pembelajaran Mendalam PAI & BP Kelas XII Terbaru 2025
PPTX
Sistem Pencernaan Manusia IPAS Presentasi Pendidikan Hijau Kuning Bingkai Ilu...
PDF
IN1.2.E. kelompok 2.docx kerangka pembelajaran mendalam.pdf
PPTX
Aliran Pemikiran dalam Dakwah materi awal
PDF
LK - Kerangka Pembelajaran Mendalam luring 4 Herpina Indah Permata Sari.pdf
DOCX
LK 1.1.a.2_Modul 2 Pelatihan Koding dan Artifisial
PDF
Sosialisasi Menu DAK NF TA 2026 Promkeskom.pdf
PDF
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
DOCX
Modul Ajar Pembelajaran Mendalam PAI & BP Kelas X Terbaru 2025
PPTX
Pedoman & Kewajiban Penggunaan Produksi Dalam Negeri _Pelatihan "Ketentuan T...
PDF
Ilmu tentang pengembangan teknologi pembelajaran
DOCX
Modul Ajar Pembelajaran Mendalam PKN Kelas X Terbaru 2025
PPTX
7 KEBIASAAN ANAK INDONESIA HEBAT.pptx xx
PDF
Laktasi dan Menyusui (MK Askeb Esensial Nifas, Neonatus, Bayi, Balita dan Ana...
PPTX
ppt_bola_basket_kelas x sma mata pelajaran pjok.pptx
PDF
2021 KREATIFITAS DNA INOVASI DALAM BERWIRAUSAHA.pdf
PPTX
Presentasi Al-Quran Hadits Kelompok XI.1
PPTX
Ekspresi_dan_Operasi_Logika informatika smp kelas 9
PDF
RPP PEMBELAJARAN MENDALAM BAHASA INDONESIA _SariIndah_DEWI SINTA (1).pdf
PPTX
MODUL 2 LK 2.1.pptx MODUL 2 LK 2.1.pptx MODUL 2 LK 2.1.pptx
Modul Ajar Pembelajaran Mendalam PAI & BP Kelas XII Terbaru 2025
Sistem Pencernaan Manusia IPAS Presentasi Pendidikan Hijau Kuning Bingkai Ilu...
IN1.2.E. kelompok 2.docx kerangka pembelajaran mendalam.pdf
Aliran Pemikiran dalam Dakwah materi awal
LK - Kerangka Pembelajaran Mendalam luring 4 Herpina Indah Permata Sari.pdf
LK 1.1.a.2_Modul 2 Pelatihan Koding dan Artifisial
Sosialisasi Menu DAK NF TA 2026 Promkeskom.pdf
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
Modul Ajar Pembelajaran Mendalam PAI & BP Kelas X Terbaru 2025
Pedoman & Kewajiban Penggunaan Produksi Dalam Negeri _Pelatihan "Ketentuan T...
Ilmu tentang pengembangan teknologi pembelajaran
Modul Ajar Pembelajaran Mendalam PKN Kelas X Terbaru 2025
7 KEBIASAAN ANAK INDONESIA HEBAT.pptx xx
Laktasi dan Menyusui (MK Askeb Esensial Nifas, Neonatus, Bayi, Balita dan Ana...
ppt_bola_basket_kelas x sma mata pelajaran pjok.pptx
2021 KREATIFITAS DNA INOVASI DALAM BERWIRAUSAHA.pdf
Presentasi Al-Quran Hadits Kelompok XI.1
Ekspresi_dan_Operasi_Logika informatika smp kelas 9
RPP PEMBELAJARAN MENDALAM BAHASA INDONESIA _SariIndah_DEWI SINTA (1).pdf
MODUL 2 LK 2.1.pptx MODUL 2 LK 2.1.pptx MODUL 2 LK 2.1.pptx

10_STREAM DAN FILE.pdf

  • 1. Pemrog. Berorientasi Objek **, Pertemuan Ke-10 Noviyanto, ST Halaman 1 STREAM DAN FILE Proses penulisan dan pembacaan data sering kita sebut dengan proses input dan output, dimana penulisan data berarti mengalirkan data ke output dan menerima atau mendapatkan data dari input. A. Stream Stream merupakan dasar operasi input-output ( I/O ) dalam Java yang menggunakan package java.io sebagai package utama. Stream adalah representasi abstrak dari input dan output device, dimana aliran bytes akan ditransfer seperti file dalam harddisk, file pada sistem remote atau printer. Kita dapat membaca data dari input stream, yang dapat berupa file, keyboard atau komputer remote. Sedangkan untuk operasi penulisan berarti menulis data pada output stream. Package java.io mendukung dua tipe stream, yaitu binari dan karakter stream. Binari merupakan data berupa bit atau data binari, sedangkan karakter adalah tipe khusus untuk pembacaan dan penulisan teks/karakter. B. Input Stream Subclass-subclass dari inputStream adalah : AudioInputStream, ByteArrayInputStream, FileInputStream, FilterInputStream, PipedInputStream, SequenceInputStream, dan StringBufferInputStream. Dua method utama dari InputStream adalah : Read Method ini digunakan untuk membaca stream. Close Method ini digunakan untuk menutup koneksi input stream. Latihan 38. InputStream.java import java.io.*; class InputStream { public static void main(String[] args) throws IOException { byte[] data = new byte[10]; System.out.print("Ketik 10 buah karakter :"); System.in.read(data); System.out.print("Karakter yang Anda ketik yaitu : "); for(int i=0;i<data.length;i++) { System.out.print((char)data[i]); } } } C. Output Stream Subclass-subclass dari outputStream adalah : ByteArrayOutputStream : digunakan untuk menuliskan stream menjadi byte array. FileOutputStream : digunakan untuk menulis pada file FilterOutputStream : merupakan superclass dari subclass-subclass seperti DataOutputStream, BufferOutputStream, PrintStream, CheckedOutputStream ObjectOutputStream : digunakan untuk menuliskan objek pada OutputStream. PipedOutputStream : digunakan untuk menjadi output dari PipedInputStream.
  • 2. Pemrog. Berorientasi Objek **, Pertemuan Ke-10 Noviyanto, ST Halaman 2 Sebagian method-method OutputStream adalah : Voidclose() Menutup output stream yang aktif dan melepaskan sumber daya terkait dengan stream tersebut Void flush() Melakukan flush output stream dan memaksa semua byte buffer untuk dituliskan keluar Void write(byte[] b) Menulis sebanyak b.length dari byte array ke output stream Void write(byte[] b, int off, int len) Menuliskan sebanyak len byte dari byte array b dimulai dari index off Latihan 39. OutputStream.java import java.io.*; class OutputStream { public static void main(String[] args) throws IOException { byte[] data = {'a','b','c','d','e','f','g'}; System.out.write(data,3,4); System.out.write('n'); //pindah baris System.out.write(data); //tulis semua isi array data } } D. DataOutputStream DataOutputStream merupakan class yang menyediakan cara praktis untuk menuliskan tipe data primitif ke output stream. Sebagian method DataOutputStream adalah : writeDouble : berfungsi menuliskan data bertipe double ke output stream writeInt : berfungsi menuliskan data bertipe integer ke output stream writeBoolean : berfungsi menuliskan data boolean ke output stream writeUTF : berfungsi menuliskan data string menggunakan encoding UTF-8 yang tidak tergantung pada mesin. E. DataInputStream DataInputStream berfungsi untuk saling melengkapi dengan DataOutputStream, yaitu untuk mendapatkan data yang ditulis dengan DataOutputStream. Sebagian method DataInputStream adalah : ReadDouble() : membaca data bertipe double readInt() : membaca data bertipe integer readBoolean() : membaca data Boolean readUTF() : membaca data dengan encoding UTF-8 F. FileInputStream dan FileOutputStream FileInputStream digunakan untuk membaca data dari file yang merupakan turunan langsung dari class InputStream dan FileOutputStream untuk menuliskan data ke file merupakan turunan langsung dari class OutputStream. Latihan 40. FileInStream.java import java.io.*; class FileInStream { public static void main(String[] args){ if(args.length==0) { System.out.println("Anda harus memasukkan nama file sebagai parameternya."); return; } byte data; FileInputStream fin=null; try { fin = new FileInputStream(args[0]); do { data = (byte)fin.read(); System.out.print((char)data); }while(data!=-1); }catch(FileNotFoundException e) { System.out.println("File : " + args[0] + " tidak ditemukan."); }catch(IOException e) { System.out.println("Eksepsi tidak diketahui : " + e); }finally {//tutup file
  • 3. Pemrog. Berorientasi Objek **, Pertemuan Ke-10 Noviyanto, ST Halaman 3 if(fin!=null) { try{ fin.close(); }catch(IOException err) { System.out.println("Eksepsi tidak diketahui : " + err); } } } } } Latihan 41. FileOutStream import java.io.*; class FileOutStream { public static void main(String[] args){ if(args.length==0) { System.out.println("Anda harus memasukkan nama file sebagai parameternya."); return; } byte data; FileOutputStream fout=null; try{ fout = new FileOutputStream(args[0]); System.out.println("Ketik data yang ingin Anda tulis ke file."); System.out.println("Ketik Q jika Anda ingin berhenti."); data = (byte)System.in.read(); while(data!=(byte)'Q') { fout.write(data); data = (byte)System.in.read(); } }catch(FileNotFoundException e) { System.out.println("File : " + args[0] + " tidak dapat dibuka atau dibuat."); }catch(IOException e) { System.out.println("Eksepsi tidak diketahui : " + e); }finally { //tutup file if(fout!=null) { try{ fout.close(); }catch(IOException err) { System.out.println("Eksepsi tidak diketahui : " + err); } } } } } Keterangan : file output1.txt sebenarnya tidak ada, dengan perintah diatas akan secara langsung terbuat
  • 4. Pemrog. Berorientasi Objek **, Pertemuan Ke-10 Noviyanto, ST Halaman 4 G. Class File Class File merupakan langkah awal dalam mempelajari proses input-output dengan Java, karena File merupakan objek yang mewakili path, file, atau direktori pada harddisk. Ada tiga cara membuat objek File, yaitu : Menggunakan objek string sebagai argumen yang menginformasikan path untuk file atau direktori. Menggunakan dua langkah, dimana yang pertama untuk mendefinisikan direktori dan yang kedua untuk file. Menggunakan dua argumen, dimana yang pertama adalah argumen string yang mendefinisikan direktori, dan yang kedua adalah argumen string yang mendefinisikan nama file. H. FileWriter Di dalam aplikasi web, disamping database, penggunaan file untuk menyimpan data cukup banyak dilakukan karena kebutuhan penyimpanan data yang sederhana cukup dengan menggunakan file. FileWriter merupakan subclass dari OutputStreamWriter yang merupakan subclass dari class abstract Writer. Class FileWriter memiliki konstruktor yang umum seperti berikut : FileWriter ( File objekfile ); FileWriter ( String pathkefile ); FileWriter ( String pathkefile, boolean append ); Contoh penggunaan : File inifile = (pathdirektori, namafile); FileWriter outputnya = new FileWriter (inifile); Latihan 42. MenulisFile.java import java.io.*; class MenulisFile { public static void main(String[] args){ if(args.length==0) { System.out.println("Anda harus memasukkan nama file sebagai parameternya."); return; } String data; FileWriter fout=null; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) try{ fout = new FileWriter(args[0]); System.out.println("Ketik data yang ingin Anda tulis ke file."); System.out.println("Ketik BERHENTI jika Anda ingin berhenti."); data = br.readLine(); while(!data.equals("BERHENTI")){ // rn digunakan untuk pindah baris fout.write(data + "rn"); data = br.readLine(); } }catch(FileNotFoundException e) { System.out.println("File : " + args[0] + " tidak dapat dibuka atau dibuat."); }catch(IOException e) { System.out.println("Eksepsi tidak diketahui : " + e); }finally //tutup file if(fout!=null) { try{ fout.close(); }catch(IOException err) { System.out.println("Eksepsi tidak diketahui : " + err); } } } } }
  • 5. Pemrog. Berorientasi Objek **, Pertemuan Ke-10 Noviyanto, ST Halaman 5 I. FileReader FileReader merupakan class yang dapat digunakan untuk membaca file teks. Konstruktor dari FileReader : FileReader(File objekfile); FileReader(String pathkefile); Method yang digunakan : Read(char[] array); Read(char[] array, int offset, int length); Contoh penggunaan : File fileteks = new File(direktori, namafile); FileReader baca = new FileReader(fileteks); C=baca.read(char[] yang dibaca); Latihan 43. BacaFile.java import java.io.*; class BacaFile { public static void main(String[] args){ if(args.length==0) { System.out.println("Anda harus memasukkan nama file sebagai parameternya."); return; } String data; FileReader fin=null; try{ fin = new FileReader(args[0]); BufferedReader br = new BufferedReader(fin); //bungkus objek FileReader dengan objek BufferedReader do{ data = br.readLine(); System.out.println(data); }while(data!=null); }catch(FileNotFoundException e) { System.out.println("File : " + args[0] + " tidak ditemukan."); }catch(IOException e) { System.out.println("Eksepsi tidak diketahui : " + e); }finally { //tutup file if(fin!=null) { try{ fin.close(); }catch(IOException err) { System.out.println("Eksepsi tidak diketahui : " + err); } } } } }
  • 6. Pemrog. Berorientasi Objek **, Pertemuan Ke-10 Noviyanto, ST Halaman 6 LATIHAN 1. Jelaskan tentang Byte Stream dan Character Stream, beserta dengan perbedaan utamanya ? 2. Berikan contoh program untuk DataInputStream dan DataOutputStream ! 3. Buatlah program untuk mengecek keberadaan file/isi pada direktori ! 4. Buatlah program untuk mengkopi suatu file teks ! Nama file yang hendak dikopi dan hasil kopianya harus dilewatkan sebagai parameter pada waktu eksekusi. Contoh eksekusi program : Java kopi file1.txt file2.txt