Membaca dan menulis file

Input/Output dan Stream di Java

Alex Liu

Software Development Engineer

Casting

  • Konversi antar tipe data primitif

  • Widening casting - otomatis dari ukuran lebih kecil -> lebih besar

    • byte -> short -> char -> int -> long -> float -> double
// Widening casting - terjadi otomatis
byte myByte = 8;
int myInt = myByte;
  • Narrowing casting - manual, dari lebih besar -> lebih kecil
// Narrowing casting - dilakukan manual
double myDouble = 3.14;
int myInt = (int) myDouble; // Perhatikan (int)
Input/Output dan Stream di Java

Memahami casting khusus untuk membaca file

  • Casting dari int ke char: char data = (char) 123;
// Nilai Unicode untuk karakter 'a'
int data = 97;
// Cetak data dalam format `int`
System.out.print(data);
// Casting data dari `int` ke `char` lalu cetak
System.out.print((char)data);
97
a
1 https://www.ascii-code.com/
Input/Output dan Stream di Java

Membaca data dari file dengan FileReader

  • Impor kelas FileReader untuk mengaktifkan pembacaan file
import java.io.FileReader;
  • Baca file, cetak per karakter, lalu tutup file
FileReader fr = new FileReader("example.txt");
int data = fr.read();
// Baca dan cetak tiap karakter
while (data != -1) {
    System.out.print((char) data);
    data = fr.read();
}
fr.close(); // Tutup file untuk melepas resource
Input/Output dan Stream di Java

Pembacaan efisien dengan BufferedReader

  • BufferedReader - import java.io.BufferedReader;
    • Membaca file teks baris demi baris
    • Lebih efisien untuk file besar
// Buat objek BufferedReader
BufferedReader br = new BufferedReader(new FileReader("example.txt"));
String line;
// Gunakan .readLine() untuk membaca per baris
while ((line = br.readLine())!= null){
  System.out.println(line);
}
br.close();
Input/Output dan Stream di Java

Menulis data dengan FileWriter

  • FileWriter:
    • Menimpa konten secara default — hati-hati agar tidak kehilangan data!
  • Impor FileWriter
import java.io.FileWriter;


// Buat objek `FileWriter` baru FileWriter fw = new FileWriter("example.txt"); // Tulis data ke file dengan `.write() fw.write("Menimpa file."); fw.close()
Input/Output dan Stream di Java

Menambahkan data dengan FileWriter

  • FileWriter
    • Dapat menambahkan data (append) tanpa menimpa jika diatur ke mode append

$$

// Inisialisasi `FileWriter` dalam mode append
FileWriter fw = new FileWriter("example.txt", true);
// Tambahkan data ke file
fw.write("Menambahkan data.");
fw.close()
Input/Output dan Stream di Java

Penulisan efisien dengan BufferedWriter

  • BufferedWriter - import java.io.BufferedWriter;
    • Menulis teks lebih efisien dengan blok lebih besar
    • Meminimalkan operasi tulis
// Buat objek BufferedWriter
BufferedWriter bw = new BufferedWriter(new FileWriter("example.txt"));
bw.write("Menulis data");

// .newLine() untuk menambah baris baru
bw.newLine(); 
bw.close();
Input/Output dan Stream di Java

Ayo berlatih!

Input/Output dan Stream di Java

Preparing Video For Download...