Android的getExternalStorageDirectory不返回任何文件 [英] Android getExternalStorageDirectory doesn't return any file

查看:379
本文介绍了Android的getExternalStorageDirectory不返回任何文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是新到Android编程。结果
我试图用getExternalStorageDirectory()结果得到的路径,我的Nexus设备上的文件
但是它会返回文件在所有

code:

 文件路径=新的文件(Environment.getExternalStorageDirectory()+);
path.mkdirs();
如果(path.exists()){
FilenameFilter的过滤器=新的FilenameFilter(){
            @覆盖
            公共布尔接受(文件目录,字符串文件名){
                文件SEL =新的文件(目录,文件名);
                //根据文件是否被隐藏过滤器
                回报(sel.isFile()|| sel.isDirectory())
                    &功放;&安培; !sel.isHidden();            }
        };
的String [] = FLIST path.list(过滤器);
// FLIST返回NULL
}


解决方案

随着你的情况,你可以通过执行以下code获取的所有数据:

 的ArrayList<串GT; filesL​​ist =新的ArrayList<串GT;();
。字符串sd_card = Environment.getExternalStorageDirectory()的toString();
文件=新的文件(sd_card);
文件列表[] = file.listFiles();
的for(int i = 0; I< List.length的数字,我++){
    filesL​​ist.add(名单[I] .getName());
}

现在 filesL​​ist 将所有的文件列表,你可以用它根据自己的需要。

请不要忘记在清单中添加权限:

 <使用许可权的android:NAME =android.permission.READ_EXTERNAL_STORAG​​E/>

I'm new to android programming.
I'm trying to get the path to files on my nexus device by using "getExternalStorageDirectory()"
But it returns no file at all

Code:

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
}

解决方案

As in your case you can fetch all data by doing following code:

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() );
}

Now filesList will have list of all files , you can use it as per your need.

Please don't forget to add permission in manifest:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

这篇关于Android的getExternalStorageDirectory不返回任何文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆