我是Android编程的新手
我正在尝试使用getExternalStorageDirectory()
来获取我的nexus设备上的文件路径
但它根本不返回任何文件
代码:
File path = new File(Environment.getExternalStorageDirectory() +"");
path.mkdirs();
if (path.exists()) {
FilenameFilter filter = new FilenameFilter() {
@Override
public boolean accept(File dir, String filename) {
File sel = new File(dir, filename);
// Filters based on whether the file is hidden or not
return (sel.isFile() || sel.isDirectory())
&& !sel.isHidden();
}
};
String[] fList = path.list(filter);
// flist return null
}
答案 0 :(得分:5)
在您的情况下,您可以通过执行以下代码来获取所有数据:
ArrayList<String> filesList = new ArrayList<String>();
String sd_card = Environment.getExternalStorageDirectory().toString();
file = new File( sd_card ) ;
File list[] = file.listFiles();
for( int i=0; i< list.length; i++) {
filesList.add( list[i].getName() );
}
现在filesList
将包含所有文件的列表,您可以根据需要使用它。
请不要忘记在清单中添加权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
答案 1 :(得分:2)
将<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>"
添加到AndroidManifest.xml