×

Đọc và ghi file văn bản và file nhị phân trong Java

Trong lập trình Java, xử lý đọc và ghi dữ liệu là một kỹ năng quan trọng đặc biệt khi làm việc với các file văn bản và file nhị phân. Việc này rất hữu ích để quản lý dữ liệu trong ứng dụng, lưu trữ và xử lý thông tin một cách hiệu quả. Bài viết này sẽ hướng dẫn chi tiết cách đọc và ghi dữ liệu từ các file văn bản và file nhị phân trong Java.

Đọc và ghi file văn bản

Đọc file văn bản

Đọc file văn bản trong Java có thể được thực hiện thông qua class BufferedReader. Dưới đây là một ví dụ về việc đọc file văn bản từng dòng một:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class TextFileReader {
    public static void main(String[] args) {
        try (BufferedReader br = new BufferedReader(new FileReader("example.txt"))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Ghi file văn bản

Để ghi vào một file văn bản, chúng ta có thể sử dụng class BufferedWriter kết hợp với FileWriter:

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class TextFileWriter {
    public static void main(String[] args) {
        try (BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"))) {
            bw.write("Hello, World!");
            bw.newLine();
            bw.write("This is a test.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Đọc và ghi file nhị phân

Khác với file văn bản, file nhị phân chứa dữ liệu ở dạng byte. Để xử lý loại file này, Java cung cấp các lớp như FileInputStreamFileOutputStream.

Đọc file nhị phân

Sử dụng FileInputStream để đọc file nhị phân:

import java.io.FileInputStream;
import java.io.IOException;

public class BinaryFileReader {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("example.bin")) {
            int byteRead;
            while ((byteRead = fis.read()) != -1) {
                System.out.print((char) byteRead);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Ghi file nhị phân

Sử dụng FileOutputStream để ghi vào file nhị phân:

import java.io.FileOutputStream;
import java.io.IOException;

public class BinaryFileWriter {
    public static void main(String[] args) {
        try (FileOutputStream fos = new FileOutputStream("output.bin")) {
            fos.write("Hello, World!".getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Lưu ý về xử lý file

  1. Đóng tài nguyên: Luôn đảm bảo đóng các stream để tránh rò rỉ tài nguyên. Bạn có thể sử dụng try-with-resources, được giới thiệu từ Java 7, để tự động đóng các tài nguyên.
  2. Xử lý ngoại lệ: Xử lý ngoại lệ rất quan trọng để ứng dụng không bị dừng đột ngột và cung cấp các thông tin lỗi hữu ích.
  3. Character Encoding: Đảm bảo sử dụng đúng encoding khi đọc và ghi file văn bản để tránh lỗi hiển thị kí tự.

Kết luận

Đọc và ghi file trong Java là một hoạt động cơ bản nhưng rất quan trọng đối với việc xử lý dữ liệu trong các ứng dụng. Thông qua các ví dụ trên, bạn đã hiểu cách đọc và ghi dữ liệu từ các file văn bản và file nhị phân, cùng với những kỹ thuật tốt để quản lý tài nguyên và xử lý ngoại lệ. Mong rằng hướng dẫn này sẽ hữu ích cho bạn trong quá trình làm việc với file trong Java.

Comments