为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java中获得文件扩展名?

如何在Java中获得文件扩展名?

慕无忌1623718 2019-07-11 15:28:20
如何在Java中获得文件扩展名?我不是在找哑剧类型。假设我有以下输入:/path/to/file/foo.txt我想找一种方法来分解这个输入,特别是.txt为了分机。是否有在Java中构建的方法来实现这一点?我想避免编写自己的解析器。
查看完整描述

3 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

在这种情况下,使用FilenameUtils.getExtenence从…ApacheCommonsIO

下面是如何使用它的示例(您可以指定完整路径或仅指定文件名):

String ext1 = FilenameUtils.getExtension("/path/to/file/foo.txt"); // returns "txt"
String ext2 = FilenameUtils.getExtension("bar.exe"); // returns "exe"



查看完整回答
反对 回复 2019-07-11
?
慕容708150

TA贡献1831条经验 获得超4个赞

你真的需要一个“解析器”吗?

String extension = "";int i = fileName.lastIndexOf('.');if (i > 0) {
    extension = fileName.substring(i+1);}

假设您处理的是类似Windows的简单文件名,而不是类似于archive.tar.gz.

顺便说一下,对于目录可能有“.”的情况,但是文件名本身没有(例如/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);}


查看完整回答
反对 回复 2019-07-11
?
慕沐林林

TA贡献2016条经验 获得超9个赞

private String getFileExtension(File file) {
    String name = file.getName();
    int lastIndexOf = name.lastIndexOf(".");
    if (lastIndexOf == -1) {
        return ""; // empty extension
    }
    return name.substring(lastIndexOf);}


查看完整回答
反对 回复 2019-07-11
  • 3 回答
  • 0 关注
  • 1921 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信