如何确定文件是图像,视频还是音频文件

时间:2013-06-20 11:30:11

标签: java android file

我使用以下代码从图库中获取文件。我检索的文件是图像文件,视频文件或基于用户选择的音频文件。

现在我在列表视图中显示从库中检索的文件。但我无法区分用户选择的文件是图像文件(即.jpg / .png)或其视频文件或音频文件。

通过获取扩展并在if else条件下检查它可能我知道。但我想知道它有可能做到这一点

用于从图库中获取图片的代码

Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
startActivityForResult(intent, GET_VIDEO_AUDIO);    
                            fileTransferDialog.dismiss();

3 个答案:

答案 0 :(得分:8)

只需检查文件的MIME类型即可。 看看这个

https://stackoverflow.com/a/13889946/1570662

这可能会有所帮助

private static String getMimeType(String fileUrl) {
    String extension = MimeTypeMap.getFileExtensionFromUrl(fileUrl);
    return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
}

答案 1 :(得分:0)

看看this。通过确定文件的MIME类型,您可以评估要处理的文件。还有this one,可用于确定MIME类型等。

答案 2 :(得分:0)

您可以获取文件类型以识别文件类型是照片还是视频。

        String ext = file.getName().substring(file.getName().indexOf(".") + 1);

            if (ext.equalsIgnoreCase("jpg")
                        || ext.equalsIgnoreCase("png")
                        || ext.equalsIgnoreCase("jpeg")) {
                  type = "photo";
            }