如何从所选文件中获取详细信息?

时间:2018-07-21 05:56:50

标签: android file android-intent uri

我正在使用以下意图选择文件:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(intent,PICKFILE_RESULT_CODE);

并以以下方式获取文件uri

Uri uri = data.getData();

现在我想知道该文件的以下信息:

  1. 文件名
  2. 文件大小
  3. 文件类型
  4. 创建日期

我在Google以及stackOverflow上都进行了搜索,但没有发现任何帮助。

1 个答案:

答案 0 :(得分:0)

您必须将URI转换为file,然后获取所有值,看看:

  @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        Uri uri = data.getData();
        File file =new File(uri.getPath());
        int size = (int)file.length();
        String name = file.getName();
        String fileType= getMimeType(uri)

}

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