Java 获取文件的扩展名
在 Java 中获取文件的扩展名可以通过几种方式实现。下面是几种常见的方法:
方法一:使用 String 的方法
如果你已经有文件名作为字符串,可以使用 String 类的方法来提取文件的扩展名。
String filename = "example.txt";
int lastIndex = filename.lastIndexOf('.');
if (lastIndex == -1) {
// 文件名中没有找到".",没有扩展名
System.out.println("文件没有扩展名");
} else {
String extension = filename.substring(lastIndex + 1);
System.out.println("文件扩展名是: " + extension);
}
方法二:使用 Java NIO 库
Java NIO 库提供了一种更现代和推荐的方法来处理文件路径。
import java.nio.file.Path;
import java.nio.file.Paths;
Path path = Paths.get("example.txt");
String fileName = path.getFileName().toString();
int dotIndex = fileName.lastIndexOf('.');
if (dotIndex == -1) {
// 文件名中没有找到".",没有扩展名
System.out.println("文件没有扩展名");
} else {
String extension = fileName.substring(dotIndex + 1);
System.out.println("文件扩展名是: " + extension);
}
方法三:使用 FilenameUtils 类(Apache Commons IO 库)
Apache Commons IO 库中的 FilenameUtils 类提供了一个简单的方法来获取文件扩展名。
首先,确保你已经导入了 Apache Commons IO 库。然后使用如下方法:
import org.apache.commons.io.FilenameUtils;
String filename = "example.txt";
String extension = FilenameUtils.getExtension(filename);
if (extension.isEmpty()) {
System.out.println("文件没有扩展名");
} else {
System.out.println("文件扩展名是: " + extension);
}
注意事项
- 所有方法都假设文件名中只有一个扩展名(最后一个"."后的部分)。
- 如果文件名中没有扩展名,需要处理这种情况以避免异常。
使用这些方法之一,你可以轻松地获取文件的扩展名,选择适合你项目需求和习惯的方法即可。
How do I get the file extension of a file in Java
// 一般文件 如 archive.tar.gz
String extension = "";
int i = fileName.lastIndexOf('.');
// 保证没有扩展名的文件不会报错
if (i > 0) {
extension = fileName.substring(i + 1);
}
// 特殊文件 如 /path/to.a/file
String extension = "";
int i = fileName.lastIndexOf('.');
int p = Math.max(fileName.lastIndexOf('/'), fileName.lastIndexOf('\\'));
if (i > p) {
extension = fileName.substring(i + 1);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论