Trong Java, có hai cách chính để đọc và ghi file là sử dụng lớp FileReader và FileWriter và lớp Scanner và PrintWriter.
Các bài viết liên quan:
Hướng dẫn đọc file trong Java
Để đọc file trong Java, bạn có thể làm theo các bước sau:
Bước 1: Import các lớp cần thiết
Đầu tiên, bạn cần import các lớp cần thiết để làm việc với file trong Java. Bạn có thể import lớp java.io.File
và java.util.Scanner
bằng cách thêm dòng sau vào đầu mã nguồn:
import java.io.File; import java.util.Scanner;
Bước 2: Tạo đối tượng File
Sau đó, bạn cần tạo một đối tượng File để đại diện cho file bạn muốn đọc. Bạn có thể sử dụng đường dẫn tuyệt đối hoặc đường dẫn tương đối của file. Ví dụ:
File file = new File("path/to/file.txt");
Bước 3: Tạo đối tượng Scanner và đọc file
Tiếp theo, bạn cần tạo một đối tượng Scanner để đọc nội dung của file. Bạn truyền đối tượng File đã tạo ở bước trước vào constructor của Scanner. Sau đó, bạn có thể sử dụng các phương thức của Scanner để đọc từng dòng hoặc từng giá trị từ file. Ví dụ:
try { Scanner scanner = new Scanner(file); while (scanner.hasNextLine()) { String line = scanner.nextLine(); // Xử lý dòng được đọc từ file System.out.println(line); } scanner.close(); // Đóng Scanner sau khi đọc xong } catch (FileNotFoundException e) { e.printStackTrace(); }
Trong ví dụ trên, chúng ta sử dụng vòng lặp để đọc từng dòng trong file. scanner.hasNextLine()
kiểm tra xem còn dòng tiếp theo trong file hay không, và scanner.nextLine()
trả về nội dung của dòng đó.
Bước 4: Xử lý ngoại lệ
Khi làm việc với file, có thể xảy ra các ngoại lệ như không tìm thấy file hoặc lỗi trong quá trình đọc file. Vì vậy, hãy đảm bảo bao quanh mã đọc file trong một khối try-catch để xử lý ngoại lệ một cách an toàn.
Đó là hướng dẫn cơ bản về cách đọc file trong Java. Bạn có thể tùy chỉnh mã nguồn trên để phù hợp với nhu cầu cụ thể của bạn, bao gồm xử lý lỗi và thao tác xử lý dữ liệu từ file.
Xem thêm JTable trong Java Swing
Hướng dẫn ghi file trong Java
Để ghi dữ liệu vào file trong Java, bạn có thể làm theo các bước sau:
Bước 1: Import các lớp cần thiết
Đầu tiên, hãy import các lớp cần thiết để làm việc với file trong Java. Bạn có thể import lớp java.io.File
và java.io.FileWriter
bằng cách thêm dòng sau vào đầu mã nguồn:
import java.io.File; import java.io.FileWriter; import java.io.IOException;
Bước 2: Tạo đối tượng File
Tiếp theo, bạn cần tạo một đối tượng File để đại diện cho file bạn muốn ghi. Bạn có thể sử dụng đường dẫn tuyệt đối hoặc đường dẫn tương đối của file. Ví dụ:
File file = new File("path/to/file.txt");
Bước 3: Tạo đối tượng FileWriter và ghi dữ liệu vào file
Sau khi có đối tượng File, bạn cần tạo một đối tượng FileWriter để ghi dữ liệu vào file. Bạn truyền đối tượng File đã tạo ở bước trước vào constructor của FileWriter. Đồng thời, bạn cần xử lý ngoại lệ IOException
khi tạo đối tượng FileWriter. Ví dụ:
try { FileWriter writer = new FileWriter(file); // Ghi dữ liệu vào file writer.write("Dữ liệu cần ghi vào file"); writer.close(); // Đóng FileWriter sau khi ghi xong } catch (IOException e) { e.printStackTrace(); }
Trong ví dụ trên, chúng ta sử dụng phương thức write()
của FileWriter để ghi dữ liệu vào file. Bạn có thể gọi phương thức này nhiều lần để ghi thêm nội dung vào file.
Bước 4: Xử lý ngoại lệ
Như khi đọc file, khi ghi file cũng có thể xảy ra các ngoại lệ như lỗi ghi file hoặc lỗi trong quá trình ghi dữ liệu. Vì vậy, hãy đảm bảo bao quanh mã ghi file trong một khối try-catch để xử lý ngoại lệ một cách an toàn.
Đó là hướng dẫn cơ bản về cách ghi file trong Java. Bạn có thể tùy chỉnh mã nguồn trên để phù hợp với nhu cầu cụ thể của bạn, bao gồm xử lý lỗi và ghi các kiểu dữ liệu khác vào file.
Xem thêm Đọc và ghi file trong c++
Ví dụ về đọc và ghi file trong Java
Để đọc file, bạn có thể sử dụng lớp FileReader và Scanner. Ví dụ:
File file = new File("example.txt"); Scanner sc = new Scanner(file); while (sc.hasNextLine()) { String line = sc.nextLine(); System.out.println(line); } sc.close();
Trong ví dụ trên, chúng ta tạo một đối tượng File với đường dẫn đến file cần đọc, sau đó sử dụng Scanner để đọc từng dòng trong file và in ra màn hình.
Để ghi file, bạn có thể sử dụng lớp FileWriter và PrintWriter. Ví dụ:
File file = new File("example.txt"); FileWriter fr = new FileWriter(file); PrintWriter pr = new PrintWriter(fr); pr.println("example text"); pr.close(); fr.close();
Trong ví dụ trên, chúng ta tạo một đối tượng File với đường dẫn đến file cần ghi, sau đó sử dụng FileWriter và PrintWriter để ghi dữ liệu vào file.
Lưu ý rằng khi sử dụng các lớp này, bạn cần xử lý các ngoại lệ nếu file không tồn tại hoặc không có quyền truy cập.
Cũng có một cách khác để đọc và ghi file trong Java là sử dụng lớp như InputStream và OutputStream.
Ví dụ về đọc file:
FileInputStream inputStream = new FileInputStream("example.txt"); byte[] data = new byte[inputStream.available()]; inputStream.read(data); inputStream.close(); String content = new String(data); System.out.println(content);
Ví dụ trên sử dụng FileInputStream để đọc dữ liệu từ file và chuyển nó thành một mảng byte. Sau đó, chúng ta chuyển mảng byte đó thành chuỗi và in ra màn hình
Ví dụ về ghi file:
FileOutputStream outputStream = new FileOutputStream("example.txt"); String content = "example text"; byte[] data = content.getBytes(); outputStream.write(data); outputStream.flush(); outputStream.close();
Ví dụ trên sử dụng FileOutputStream để ghi dữ liệu vào file. Chúng ta tạo một chuỗi và chuyển nó thành mảng byte. Sau đó, sử dụng phương thức write để ghi dữ liệu vào file
Còn một cách khác để đọc và ghi file trong Java là sử dụng NIO (New Input/Output) API, đặc biệt là lớp Path, Files và StandardOpenOption.
Xem thêm Cách ghi lại màn hình trên Windows 10
Ví dụ về đọc file:
Path path = Paths.get("example.txt"); List<String> lines = Files.readAllLines(path); for (String line : lines) { System.out.println(line); }
Ví dụ trên sử dụng Paths.get() để lấy đường dẫn đến file và Files.readAllLines() để đọc tất cả dòng trong file.
Ví dụ về ghi file:
Path path = Paths.get("example.txt"); String content = "example text"; Files.write(path, content.getBytes(), StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
Ví dụ trên sử dụng Paths.get() để lấy đường dẫn đến file, Files.write() để ghi dữ liệu vào file với tùy chọn StandardOpenOption.CREATE và StandardOpenOption.TRUNCATE_EXISTING để tạo
Cách sử dụng NIO API để đọc và ghi file rất tiện lợi và dễ sử dụng. Nó cung cấp các phương thức để đọc và ghi file dễ dàng và thực hiện các thao tác với file một cách hiệu quả hơn so với các lớp InputStream và OutputStream.
Ngoài ra, NIO API còn cung cấp các tính năng mở rộng khác như làm việc với nhiều file cùng lúc, làm việc với thư mục, làm việc với kích thước file lớn, v.v.
Tuy nhiên, cần lưu ý rằng NIO API chỉ có sẵn từ Java 7 trở đi, vì vậy nếu bạn đang sử dụng một phiên bản cũ hơn, bạn sẽ không thể sử dụng NIO API.