FilenameUtils 类( FilenameUtils Class)

优质
小牛编辑
135浏览
2023-12-01

提供在不使用文件对象的情况下处理文件名的方法。 它以类似的方式在不同的操作系统上运行。 这个类解决了从基于Windows的开发机器转移到基于Unix的生产机器时的问题。

Class 声明 (Class Declaration)

以下是org.apache.commons.io.FilenameUtils类的声明 -

public class FilenameUtils
   extends Object

特点 (Features)

该类定义文件名中的六个组件。 将示例位置视为C:\dev\project\file.txt 。 然后组件是 -

  • 前缀 - C:\
  • 相对路径 - 开发项目\
  • 绝对路径 - C:\dev\project\
  • 名称 - file.txt
  • 基本名称 - 文件
  • 扩展 - txt

要标识目录,请在文件名中添加分隔符。

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));
   }
}

输出 (Output)

它将打印以下结果。

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