一文总结Java获取文件后缀名的所有方法
在Java中,获取文件后缀名可以通过以下几种方法实现:
- 使用
java.io.File
类的getName()
方法结合lastIndexOf()
方法。 - 使用Apache Commons IO库的
FilenameUtils
类的getExtension(String filename)
方法。 - 使用Java 7的
java.nio.file.Path
和java.nio.file.Files
类的getExtension(Path path)
方法。
以下是实现这些方法的示例代码:
- 使用
java.io.File
类:
import java.io.File;
public class FileExtension {
public static void main(String[] args) {
File file = new File("example.txt");
String extension = getFileExtensionUsingFile(file);
System.out.println(extension); // 输出: txt
}
private static String getFileExtensionUsingFile(File file) {
if (file != null) {
String name = file.getName();
int lastIndex = name.lastIndexOf('.');
if (lastIndex > 0 && lastIndex < name.length() - 1) {
return name.substring(lastIndex + 1);
}
}
return null; // 或者返回空字符串""
}
}
- 使用Apache Commons IO库:
import org.apache.commons.io.FilenameUtils;
public class FileExtension {
public static void main(String[] args) {
String extension = getFileExtensionUsingApacheCommonsIO("example.txt");
System.out.println(extension); // 输出: txt
}
private static String getFileExtensionUsingApacheCommonsIO(String filename) {
return FilenameUtils.getExtension(filename);
}
}
- 使用Java 7的
java.nio.file
库:
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
public class FileExtension {
public static void main(String[] args) {
Path path = Paths.get("example.txt");
String extension = getFileExtensionUsingNIO(path);
System.out.println(extension); // 输出: txt
}
private static String getFileExtensionUsingNIO(Path path) {
return Files.getFileExtension(path);
}
}
注意:在实际使用中,你需要确保相关库(Apache Commons IO或Java NIO库)已经被包含在项目依赖中。
评论已关闭