首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获得文件的mime类型,在android上的文件名中有点

如何获得文件的mime类型,在android上的文件名中有点
EN

Stack Overflow用户
提问于 2012-07-13 08:00:15
回答 2查看 9.3K关注 0票数 1

我使用以下代码获取mime类型的文件:

代码语言:javascript
运行
复制
    private String getMimeType(String url) {

        String type = null;
        String extension = MimeTypeMap.getFileExtensionFromUrl(url);
        Log.e("extension ", extension);

        if (extension != null) {
        MimeTypeMap mime = MimeTypeMap.getSingleton();
        type = mime.getMimeTypeFromExtension(extension);
        }
        return type;
    }

   where url is the absolute file path

    i am getting file and folder by the following way
    File file_arr [];
    file_arr = new   File(Environment.getExternalStorageDirectory().getPath()).listFiles();
    url = file_arr[i].getAbsolutePath();

这是正确的,但是它的返回始终为null的文件在其文件名中有点“. "

作为例子

如果文件名为picture1.jpg,则getMimeType()返回映像/jpeg

在文件名有点(.)的情况下在示例27-05-2012 22.05.14.jpg的名称中,getMimeType()返回null。

我已经将文件重命名为27-05-2012.jpg,它的返回映像/jpeg。

我的问题是,如何在android上获得所有类型的文件名(有点或特殊字符)的mime类型?请帮帮我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-13 08:09:37

这个怎么样:

代码语言:javascript
运行
复制
File f = new File(file);
System.out.println(new MimetypesFileTypeMap().getContentType(f));

代码语言:javascript
运行
复制
   if(url.lastIndexOf(".") != -1) {
    String ext = url.substring(url.lastIndexOf(".")+1);
    MimeTypeMap mime = MimeTypeMap.getSingleton();
    String type = mime.getMimeTypeFromExtension(ext);
   } else {
    String type = null;
   }
票数 13
EN

Stack Overflow用户

发布于 2012-07-13 08:18:27

代码语言:javascript
运行
复制
private String getMimeType(String url) {

    String fileExtension = MimeTypeMap.getFileExtensionFromUrl(url);
    String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(
            fileExtension);
    Toast.makeText(
            this,
            "FileExtension: " + fileExtension + "\n" + "MimeType: "
                    + mimeType, Toast.LENGTH_LONG).show();
    return mimeType;
}

问题在于文件名之间的空格,请尝试以下代码,以便获取任何文件的mime类型( ".“、"-”、"_“)等等.

尝试使用这个,即使它会起作用:27-05-20.....1222.05.14.jpg

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11466422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档