Apache Commons IO - FilenameUtils

Cung cấp phương pháp làm việc với tên tệp mà không cần sử dụng Đối tượng tệp. Nó hoạt động trên các hệ điều hành khác nhau theo cách tương tự. Lớp này giải quyết các vấn đề khi chuyển từ máy phát triển dựa trên Windows sang máy sản xuất dựa trên Unix.

Khai báo lớp học

Sau đây là khai báo cho org.apache.commons.io.FilenameUtils Lớp học -

public class FilenameUtils
   extends Object

Đặc trưng

Lớp này định nghĩa sáu thành phần trong một tên tệp. Hãy xem xét một vị trí ví dụ nhưC:\dev\project\file.txt. Sau đó, các thành phần là -

  • Tiền tố - C: \
  • Đường dẫn tương đối - dev \ project \
  • Đường dẫn tuyệt đối - C: \ dev \ project \
  • Tên - file.txt
  • Tên cơ sở - tệp
  • Phần mở rộng - txt

Để xác định một thư mục, hãy thêm dấu phân tách vào tên tệp.

Ví dụ về lớp FilenameUtils

IOTester.java

import java.io.IOException;
import org.apache.commons.io.FilenameUtils;

public class IOTester {
   public static void main(String[] args) {
      try {
         //Using FilenameUtils
         usingFilenameUtils();
      } catch(IOException e) {
         System.out.println(e.getMessage());
      }
   }

   public static void usingFilenameUtils() throws IOException {
      String path = "C:\\dev\\project\\file.txt";
      System.out.println("Full Path: " +FilenameUtils.getFullPath(path));
      System.out.println("Relative Path: " +FilenameUtils.getPath(path));
      System.out.println("Prefix: " +FilenameUtils.getPrefix(path));
      System.out.println("Extension: " + FilenameUtils.getExtension(path));
      System.out.println("Base: " + FilenameUtils.getBaseName(path));
      System.out.println("Name: " + FilenameUtils.getName(path));

      String filename = "C:/commons/io/../lang/project.xml";
      System.out.println("Normalized Path: " + FilenameUtils.normalize(filename));
   }
}

Đầu ra

Nó sẽ in ra kết quả sau.

Full Path: C:\dev\project\
Relative Path: dev\project\
Prefix: C:\
Extension: txt
Base: file
Name: file.txt
Normalized Path: C:\commons\lang\project.xml