Trong bài viết này, chúng ta sẽ cùng tìm hiểu về lớp File trong Java và các thao tác khác nhau của nó cùng với sự trợ giúp của các ví dụ dẫn chứng.
Lớp File
Lớp File của gói java.io được sử dụng để thực hiện các hoạt động khác nhau trên tệp và thư mục. Cũng có một gói khác có tên java.nio có thể được sử dụng để làm việc với các tệp. Tuy nhiên, trong bài viết này, chúng ta sẽ tập trung vào gói java.io.
Tệp và Thư mục
Tệp, tiếng anh là file, là một vị trí được đặt tên có thể được sử dụng để lưu trữ thông tin liên quan. Ví dụ, main.java là một tệp Java chứa thông tin về chương trình Java.
Thư mục, tiếng anh là folder, là một tập hợp các tệp và thư mục con. Thư mục bên trong một thư mục được gọi là thư mục con.
Tạo một đối tượng của lớp File
Để tạo một đối tượng của File, trước tiên chúng ta cần thêm gói package java.io.File. Sau khi chúng ta thêm gói, sau đây là cách chúng ta có thể tạo các đối tượng của lớp File.
1 |
File a = new File(String path); |
Ở đây, chúng ta đã tạo một đối tượng của lớp File có tên là a. Đối tượng này có thể được sử dụng để làm việc với các tệp và thư mục.
Chú ý: Trong Java, tạo một đối tượng tệp không có nghĩa là ta đã tạo ra một tệp. Thay vào đó, một đối tượng tệp là một đại diện trừu tượng của tệp hoặc thư mục đó (với tên tệp được xác định trong dấu ngoặc đơn).
Các phương thức làm việc với tệp và thư mục
Thao tác | Phương thức | Gói |
Tạo file | createNewFile() | java.io.File |
Đọc file | read() | java.io.FileReader |
Ghi file | write() | java.io.FileWriter |
Xóa file | delete() | java.io.File |
Tạo file
Để tạo một file mới, chúng ta có thể sử dụng phương thức createNewFile(). Nó sẽ trả về giá trị:
- true nếu một tệp mới được tạo.
- false nếu tệp đã tồn tại.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import java.io.File; class Main { public static void main(String[] args) { File a = new File("tek4.txt"); try { boolean kq = a.createNewFile(); if (kq) { System.out.println("File duoc tao!"); } else { System.out.println("File da ton tai"); } } catch(Exception e) { e.getStackTrace(); } } } |
Kết quả:
1 |
File da ton tai |
Trong ví dụ trên, chúng ta đã tạo một đối tượng tệp có tên là a. Đối tượng này được liên kết với đường dẫn của tệp được chỉ định.
1 |
File a = new File("tek4.txt"); |
Ở đây, chúng ta đã sử dụng đối tượng này để tạo một tệp mới với đường dẫn được chỉ định. Tuy nhiên, thì trong chương trình trên, trước đó ta đã tạo ra file tek4.txt, nên chương trình sẽ in ra là tệp còn tồn tại.
Đọc tệp
Để đọc dữ liệu từ tệp, chúng ta có thể sử dụng các lớp con của InputStream hoặc Reader.
Ví dụ: Đọc tệp bằng FileReader
Giả sử chúng ta có một tệp có tên tek4.txt với nội dung như sau.
1 |
Lap trinh Java |
Ta sẽ thực hiện đọc file tek4.txt với chương trình sau.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import java.io.FileReader; class Main { public static void main(String[] args) { char[] du_lieu = new char[100]; try { FileReader a = new FileReader("tek4.txt"); a.read(du_lieu); System.out.println(du_lieu); a.close(); } catch(Exception e) { e.getStackTrace(); } } } |
Kết quả:
1 |
Lap trinh Java |
Trong ví dụ trên, chúng ta đã tạo một đối tượng của FileReader có tên là a và nó được liên kết với tệp tek4.txt.
1 |
FileReader a = new FileReader("tek4.txt"); |
Để đọc dữ liệu từ tệp tek4.txt, chúng ta đã sử dụng phương thức read() của FileReader.
Ghi vào tệp
Để ghi dữ liệu vào tệp, chúng ta có thể sử dụng các lớp con của OutputStream hoặc Writer.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import java.io.FileWriter; class Main { public static void main(String args[]) { String mang_ky_tu = "Xin chao moi nguoi!"; try { FileWriter a = new FileWriter("tek4.txt"); a.write(mang_ky_tu); a.close(); } catch (Exception e) { e.getStackTrace(); } } } |
Kết quả trong file tek4.txt như sau:
1 |
Xin chao moi nguoi! |
Trong ví dụ trên, chúng ta đã tạo một đối tượng ghi vào file bằng lớp FileWriter. Đối tượng này được liên kết với tệp tek4.txt. Để ghi dữ liệu vào tệp, chúng ta đã sử dụng phương thức write(). Sau khi chúng ta chạy chương trình, tệp tek4.txt chứa các nội dung sau.
Xóa tệp
Chúng ta có thể sử dụng phương thức delete() của lớp File để xóa tệp hoặc thư mục được chỉ định. Nó sẽ trả về:
- true nếu tệp bị xóa.
- false nếu tệp không tồn tại.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import java.io.File; class Main { public static void main(String[] args) { File a = new File("tek4.txt"); boolean kq = a.delete(); if(kq) { System.out.println("File da duoc xoa!"); } else { System.out.println("File khong the duoc xoa!"); } } } |
Kết quả:
1 |
File da duoc xoa! |
Trong ví dụ trên, chúng ta đã tạo một đối tượng của File có tên là a. Và ta đã sử dụng phương thức delete() để xóa tệp được chỉ định bởi đối tượng a.
Trên đây là khái niệm và ví dụ cơ bản về lớp File trong Java. Hy vọng mọi người có thể áp dụng vào trong chương trình của mình. Mọi người hãy tiếp tục theo dõi các bài tiếp theo và cập nhật các bài mới nhất trên tek4 nhé!
P/s: Cảm ơn mọi người!