Java - Panduan Membaca Fail: Satu彭加aea untuk Pemula
Helo kepada semua pembangun Java masa depan! Hari ini, kita akan melakukan perjalanan yang menarik ke atas dunia penyediaan fail di Java. Khususnya, kita akan fokus kepada cara untuk membaca fail. Jangan khawatir jika anda belum pernah menulis satu baris kod sebelum ini - saya akan bersama-sama dengan anda, menjelaskan setiap langkah secara perlahan. Jadi, mari kita masuk ke dalamnya!
Pengenalan kepada Penanganan Fail di Java
Sebelum kita mula membaca fail, mari kita faham mengapa ia penting. Bayangkan jika anda adalah seorang chef (tahanlah dengan saya di sini!). Anda memerlukan resepi untuk memasak, kan? Well, dalam pemrograman, fail adalah seperti resepi kita. Mereka mengandungi maklumat yang perlu oleh program kita untuk bekerja. Mempelajari cara untuk membaca ini "resepi" adalah penting bagi mana-mana pembangun Java.
Mengapa Kita Perlu Membaca Fail?
- Penyimpanan Data: Fail menyimpan data secara kekal.
- Konfigurasi: Banyak program menggunakan fail konfigurasi.
- Pertukaran Data: Fail sering digunakan untuk berbagi data antara program yang berbeza.
Sekarang yang kita tahu mengapa, mari kita belajar bagaimana!
Membaca Fail di Java
Java menyediakan beberapa cara untuk membaca fail. Kita akan cuba tiga cara utama:
- Menggunakan FileInputStream
- Menggunakan FileReader
- Menggunakan Files.readAllLines()
Mari kita lihat setiap satu, bolehkah?
1. Membaca Fail Menggunakan Konstruktor FileInputStream()
FileInputStream adalah baik untuk membaca byte mentah dari fail. Ia seperti menggunakan rakus untuk menyedut data dari rakus-milkshake anda!
Berikut adalah contoh:
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputStreamExample {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("example.txt");
int i;
while ((i = fis.read()) != -1) {
System.out.print((char) i);
}
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Mari kita pecah ini:
- Kita import kelas yang diperlukan.
- Kita membuat objek FileInputStream, menetapkan nama fail.
- Kita membaca fail byte per byte dalam satu rakus while.
- Kita mengubah setiap byte menjadi karakter dan mencetaknya.
- Kita menutup rakus jika sudah selesai.
- Kita tangkap IOException yang mungkin terjadi.
Ingat, selalu tutup rakus anda untuk mencegah kebocoran sumber!
2. Membaca Fail Menggunakan Metode FileReader.read()
FileReader adalah seperti rakus cousin FileInputStream yang pergi ke sekolah penyelesaian. Ia direkayasa khusus untuk membaca fail karakter.
Berikut adalah cara kita gunakan itu:
import java.io.FileReader;
import java.io.IOException;
public class FileReaderExample {
public static void main(String[] args) {
try {
FileReader fr = new FileReader("example.txt");
int i;
while ((i = fr.read()) != -1) {
System.out.print((char) i);
}
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ini nampak sangat serupa dengan contoh FileInputStream kita, kan? Perbezaannya adalah FileReader direkayasa untuk membaca karakter, membuatnya lebih sesuai untuk fail teks.
3. Membaca Fail Menggunakan Metode Files.readAllLines()
Sekarang, jika FileInputStream adalah rakus dan FileReader adalah rakus, Files.readAllLines() adalah seperti meletakkan keseluruhan rakus milkshake ke mulut anda sekaligus! Ia membaca semua baris dari fail dalam satu rakus.
Berikut adalah cara ia bekerja:
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
import java.util.List;
public class ReadAllLinesExample {
public static void main(String[] args) {
try {
List<String> lines = Files.readAllLines(Paths.get("example.txt"));
for (String line : lines) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Metode ini adalah sebahagian dari paket java.nio yang baru. Ia membaca semua baris sekaligus ke dalam satu Senarai dari Strings. Kemudian kita boleh dengan mudah mengulangi senarai ini untuk memproses setiap baris.
Perbandingan Cara Membaca Fail
Mari kita ringkaskan "resepi pembacaan fail" kita di atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas atas
Credits: Image by storyset