Trong hướng dẫn này, chúng ta sẽ tìm hiểu về Java File và các hoạt động khác nhau của nó với sự trợ giúp của các ví dụ.

lớp File của  gói java.io phần mềm được sử dụng để thực hiện các hoạt động khác nhau trên các tập tin và thư mục.

Có một gói khác được đặt tên java.nio có thể được sử dụng để làm việc với các tệp. Tuy nhiên, trong hướng dẫn này, chúng tôi sẽ tập trung vào gói java.io.

1. Tệp và Thư mục

Tệp 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 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.

2. Tạo một đối tượng tệp Java

Để tạo một đối tượng File, trước tiên chúng ta cần nhập gói java.io.File. Sau khi chúng tôi nhập gói, đây là cách chúng tôi có thể tạo các đối tượng của tệp.

// creates an object of File using the path 
File file = new File(String pathName);

Ở đây, chúng tôi đã tạo một đối tượng tệp có tên tập tin. Đối tượng có thể được sử dụng để làm việc với các tệp và thư mục.

Lưu ý : Trong Java, tạo một đối tượng tệp không có nghĩa là tạo 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ên đường dẫn tệp hoặc thư mục (được chỉ định trong ngoặc đơn).

3. Phương thức hoạt động tệp Java

Hoạt độngphương thứcGói
Để tạo tệpcreateNewFile()java.io.File
Để đọc tệpread()java.io.FileReader
Để ghi tệpwrite()java.io.FileWriter
Để xóa tệpdelete()java.io.File

3.1 Java tạo tệp

Để tạo một tệp mới, chúng ta có thể sử dụng phương thức createNewFile(). Nó trở lại

  • true nếu một tệp mới được tạo.
  • false nếu tệp đã tồn tại ở vị trí được chỉ định.

3.2 Ví dụ: Tạo một tệp mới

/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Group: https://www.facebook.com/groups/cafedev.vn/
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/cafedevvn/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/

// importing the File class
import java.io.File;

class Main {
  public static void main(String[] args) {

    // create a file object for the current location
    File file = new File("newFile.txt");

    try {

      // trying to create a file based on the object
      boolean value = file.createNewFile();
      if (value) {
        System.out.println("The new file is created.");
      }
      else {
        System.out.println("The file already exists.");
      }
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Trong ví dụ trên, chúng tôi đã tạo một đối tượng tệp có tên tập tin. Đối tượng tệp được liên kết với đường dẫn tệp được chỉ định.

File file = new File("newFile.txt");

Ở đây, chúng tôi đã sử dụng đối tượng tệp để tạo tệp mới với đường dẫn được chỉ định.

Nếu newFile.txt không tồn tại ở vị trí hiện tại , tệp sẽ được tạo và thông báo này được hiển thị.

The new file is created.

Tuy nhiên, nếu newFile.txt đã tồn tại , chúng ta sẽ thấy thông báo này.

The file already exists.

3.3 Java đọ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 input.txt với nội dung như sau.

This is a line of text inside the file. 

Bây giờ chúng ta hãy thử đọc tệp bằng Java FileReader.

// importing the FileReader class
import java.io.FileReader;

class Main {
  public static void main(String[] args) {

    char[] array = new char[100];
    try {
      // Creates a reader using the FileReader
      FileReader input = new FileReader("input.txt");

      // Reads characters
      input.read(array);
      System.out.println("Data in the file:");
      System.out.println(array);

      // Closes the reader
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Đầu ra

Data in the file:
This is a line of text inside the file.

Trong ví dụ trên, chúng tôi đã tạo một đối tượng của FileReader có tên là input. Bây giờ nó được liên kết với tệp input.txt .

FileReader input = new FileReader("input.txt");

Để đọc dữ liệu từ tệp input.txt , chúng tôi đã sử dụng phương thức read () của FileReader.

3.4 Java 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ụ: Ghi vào tệp bằng FileWriter

/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Group: https://www.facebook.com/groups/cafedev.vn/
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/cafedevvn/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/
// importing the FileWriter class
import java.io.FileWriter;

 class Main {
   public static void main(String args[]) {

     String data = "This is the data in the output file";
     try {
       // Creates a Writer using FileWriter
       FileWriter output = new FileWriter("output.txt");

       // Writes string to the file
       output.write(data);
       System.out.println("Data is written to the file.");

       // Closes the writer
       output.close();
     }
     catch (Exception e) {
       e.getStackTrace();
     }
  }
}

Đầu ra

Data is written to the file.

Trong ví dụ trên, chúng ta đã tạo một trình viết bằng cách sử dụng lớp FileWriter. Người viết được liên kết với tệp output.txt .

FileWriter output = new FileWriter("output.txt");

Để ghi dữ liệu vào tệp, chúng tôi đã sử dụng phương thức write().

Ở đây khi chúng tôi chạy chương trình, tệp output.txt chứa đầy nội dung sau.

This is the data in the output file.

3.5 Java 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ó trở lại

  • true nếu tệp bị xóa.
  • false nếu tệp không tồn tại.

Lưu ý : Chúng tôi chỉ có thể xóa các thư mục trống.

Ví dụ: Xóa tệp

import java.io.File;

class Main {
  public static void main(String[] args) {

    // creates a file object
    File file = new File("file.txt");

    // deletes the file
    boolean value = file.delete();
    if(value) {
      System.out.println("The File is deleted.");
    }
    else {
      System.out.println("The File is not deleted.");
    }
  }
}

Đầu ra

The File is deleted.

Trong ví dụ trên, chúng ta đã tạo một đối tượng của File có tên là tệp. Tệp bây giờ giữ thông tin về tệp được chỉ định.

File file = new File("file.txt");

Ở đây chúng tôi đã sử dụng phương thức delete() để xóa tệp được chỉ định bởi đối tượng.

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Nguồn và Tài liệu tiếng anh tham khảo:

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!