【问题标题】:Android - How to get file extension? [duplicate]Android - 如何获取文件扩展名? [复制]
【发布时间】:2014-01-10 08:34:40
【问题描述】:

我有一个字符串,其中包含某个文件的路径,例如。 “/sdcard0/Lewis/cache.obb”。

如何从该字符串中获取文件扩展名(不带点)?

注意:文件扩展名可以不同,例如。 “.tar.gz”。

【问题讨论】:

  • some-file.tar.gz的文件扩展名是.gz
  • 但我需要得到所有的“.tar.gz”
  • 你需要自定义你的逻辑。
  • 如果您只是使用字符串并且可以确定路径中没有点,您可以使用String extension = path.substring(0, path.lastIndexOf("."));
  • 否则,当您使用文件选择器时,这可能会有所帮助stackoverflow.com/q/53869269/3894304

标签: java android string file


【解决方案1】:

如果你有文件路径/URL,你可以像这样使用MimeTypeMap#getMimeTypeFromExtension()

public static String getFileType(String url)
{
    String type = null;
    String extension = MimeTypeMap.getFileExtensionFromUrl(url);
    if (extension != null) {
        MimeTypeMap mime = MimeTypeMap.getSingleton();
        type = mime.getMimeTypeFromExtension(extension);
    }
    return type;
}

然后你就这样称呼它:

String fileType = YourClass.getFileType(file);

【讨论】:

  • 它是否适用于名为“photo.birthday.my.son.jpg”的文件?
  • @user2718135 这段代码我没测试过,试试看。
【解决方案2】:

试试这个 如果(文件名!= null){ 文件 imageFile = new File(fileName);

String fileType=fileName.substring(imageFile.getName().length(),fileName.length());

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-09
    • 2016-10-23
    • 2018-03-06
    • 2014-04-14
    • 2012-03-24
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    相关资源
    最近更新 更多