Android - 如何获取文件扩展名? [复制]

Posted

技术标签:

【中文标题】Android - 如何获取文件扩展名? [复制]【英文标题】:Android - How to get file extension? [duplicate] 【发布时间】: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(".")); 否则,当您使用文件选择器时,这可能会有所帮助***.com/q/53869269/3894304 【参考方案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());

【讨论】:

以上是关于Android - 如何获取文件扩展名? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

java - 如何在Java中获取没有扩展名的文件对象的名称? [复制]

Android中如何设置SharedPreference文件名称?

如何从 Android 中的 apk 文件中获取源代码? [复制]

如何在 Android Pie 中获取 pdf 文件的实际文件路径? [复制]

如何使用 adb 将文件复制到可从 PC 访问的 android 目录

你如何扩展像Android.widget包中的DatePicker PagerAdapter这样的Android类?