Android目录路径混乱

时间:2017-10-19 11:29:06

标签: java android filesystems

我想获取Android中某个目录的路径。

我最终使用Android 6+默认文件管理器来选择某个目录,如下所示:

div

但是,当我这样做时,我会为下载目录获得类似Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); i.addCategory(Intent.CATEGORY_DEFAULT); startActivityForResult(Intent.createChooser(i, "Choose directory"), 1); public void onActivityResult(int requestCode, int resultCode, Intent data) { switch(requestCode) { case 1: Log.d("Files", "Path: " + path); File directory = new File(data.getData().getPath()); File[] files = directory.listFiles(); Log.d("Files", "Size: "+ files.length); // files is becomes null for (int i = 0; i < files.length; i++) { Log.d("Files", "FileName:" + files[i].getName()); } break; } } 的路径。这会导致无效路径和异常。

访问路径的正确方法是什么?

编辑:

经过一个小时的咖啡和研究后,我得出的结论是没有好办法做我想做的事。虽然有几种解决方法,但我测试的都是期望文件资源而不是目录,从而导致致命的异常:

/tree/downloads

但是,在我的情况下,我希望目录获取文件。

因此,我默认只使用Android提供的公共存储目录,在那里很容易获得路径。如果某人有一个适用于任何类型目录的通用解决方案,那将非常感激。

0 个答案:

没有答案