Sebelumnya anda telah mengetahui mengenai class File. Ketika objek File itu dibuat, ia bisa mendapatkan properti dari suatu file. Namun, class ini tidak memiliki method untuk membuat sebuah file ataupun menulis/membaca data untuk/dari sebuah file.
Nah, untuk melakukan proses Input-Output ini, maka anda memerlukan class Java yang bisa membuat objek dengan kemampuan tersebut. Bisa dikatakan objek tersebut memiliki methods untuk membaca dan menulis data dari/ke sebuah file.
Ada 2 jenis file, yaitu:
- Text
- Binary
Suatu file text pada dasarnya merupakan karakter-karakter yang disimpan pada disk. Pada kesempatan kali ini akan dijelaskan bagaimana cara membaca dan menulis file text tersebut.
Class PrintWriter
Class PrintWriter merupakan suatu implementasi dari class Writer. Class ini digunakan untuk mencetak (print) dari representasi objek pada output text stream. Dengan kata lain, class ini dapat digunakan untuk membuat file dan menulis data pada file text.
Untuk melakukannya, anda terlebih dahulu harus membuat objeknya:
PrintWriter output = new PrintWriter(namaFile);
Selanjutnya anda bisa memanggil method-method yang terdapat pada class ini untuk menulis data pada file.
Beberapa method yang terdapat pada class PrintWriter ini adalah:
Method | Penjelasan |
---|---|
void println(char[] x) | Digunakan untuk print nilai boolean |
void println(int x) | Digunakan untuk print array dari karakter-karakter |
PrintWriter append(char c) | Untuk print sebuah integer |
PrintWriter append(CharSequence ch) | Untuk menambahkan karakter spesifik pada writer |
PrintWriter append(CharSequence ch, int start, int end) | Untuk menambahkan urutan karakter spesifik pada writer |
boolean checkError() | Digunakan untuk flush stream dan memeriksa keadaan error |
protected void setError() | Digunakan untuk indikasi bahwa terjadi error |
protected void clearError() | Clear error dari stream |
PrintWriter format(String format, Object… args) | Untuk menulis string yang diformat pada writer menggunakan format dari string dan argumen yang telah ditentukan |
void print(Object obj) | Digunakan untuk print sebuah objek |
void flush() | Untuk flush stream |
void close() | Untuk menutup stream |
Contoh program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
package com.bahasajava.io; import java.io.File; import java.io.PrintWriter; import java.io.IOException; class MenulisDataFile { public static void main( String[] args ) { try{ //Membuat objek dari class File //untuk mendapatkan properti dari file terkait File myFile =new File("C:/bahasajavacom/myfile.words"); //Jika myfile.txt tidak ada, maka file baru akan dibuat if(!myFile.exists()){ myFile.createNewFile(); } //Membuat objek printWriter untuk menulis pada konten file PrintWriter printWriter = new PrintWriter(myFile); //Menambahkan baris baru pada isi file printWriter.println(""); //Menambahkan string pada baris baru printWriter.println("Baris pertama"); printWriter.println("Baris kedua"); printWriter.println("Baris ketiga"); printWriter.println("Baris keempat"); printWriter.println("Baris kelima"); //Method close() harus dipanggil untuk menutup file untuk menghindari memory leak //Jika tidak, maka data mungkin tidak akan tersimpan dengan baik pada file printWriter.close(); System.out.println("Data berhasil ditambahkan pada konten file"); }catch(IOException e){ System.out.println("Exception telah terjadi:"); e.printStackTrace(); } } } |
Ketika objek PrintWriter itu dibuat maka objek ini akan membuat file yang baru jika file tidak ada. Namun, jika file itu sudah ada sebelumnya maka isi dari file itu akan dimusnahkan tanpa verifikasi sebelumnya dilakukan kepada user.
Memanggil constructor PrintWriter melemparkan IOException pada saat compile time dan ini merupakan contoh dari checked exception. Oleh karena itu, program Java akan memaksa anda selaku programmer untuk menulis kode yang berurusan dengan exception tersebut.
Output:

Output yang dihasilkan berupa file dengan nama myfile.txt dan file ini berada pada direktori C:/bahasajavacom/. Anda bisa mencoba dengan membuat dan menyimpan file pada direktori sesuai dengan komputer anda sendiri.
Leave a Reply