Java 获取文件的扩展名

发布于 2024-09-18 08:01:31 字数 2132 浏览 13 评论 0

在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

白云悠悠

暂无简介

文章
评论
26 人气
更多

推荐作者

泪是无色的血

文章 0 评论 0

yriii2

文章 0 评论 0

1649543945

文章 0 评论 0

g红火

文章 0 评论 0

嘿哥们儿

文章 0 评论 0

旧城烟雨

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文