Commons Io 简明教程
Apache Commons IO - FilenameUtils
提供一种方法来使用文件名而不使用 File Object 来工作。它以类似的方式在不同的操作系统上工作。此类解决从基于 Windows 的开发机器移至基于 Unix 的生产机器时的问题。
Class Declaration
以下是 org.apache.commons.io.FilenameUtils 类的声明 -
public class FilenameUtils
extends Object
Features of FilenameUtils
此类定义文件名中的六个组件。考虑一个示例位置为 C:\dev\project\file.txt 。那么这些组件就是 -
-
Prefix - C:\
-
Relative Path - dev\project\
-
Absolute path - C:\dev\project\
-
Name - file.txt
-
Base name - file
-
Extension - txt
要识别目录,请向文件名添加分隔符。
Example of FilenameUtils Class
下面给出了 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));
}
}