Android扫描SD卡或者SD下某个文件夹得到想要的文件

来源:互联网 发布:windows ime文件 编辑:程序博客网 时间:2024/05/01 01:46


//得到想要扫描的目录//String fileName = getSDCardPath();//从根目录开始扫描String fileName = getSDCardPath() + "/localhost";//从根目录下的localhost文件夹开始扫描 File videoFile = new File(fileName);// 先判断这个文件是否存在if (videoFile.exists()) {List<Info> list = new ArrayList<Info>();GetFilePath(list,videoFile);//开始扫描此文件夹下想要的文件} else {Toast.makeText(this, "文件不存在", Toast.LENGTH_LONG).show();}

//判断sd卡是否存在并返回根目录private String getSDCardPath(){File sdDir = null;boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);// 判断sd卡是否存在if (sdCardExist) {sdDir = Environment.getExternalStorageDirectory();// 获取根目录}return sdDir.toString();}


private void GetFilePath(final List<Info> list, File file) {        file.listFiles(new FileFilter() {            @Override            public boolean accept(File file) {                                String name = file.getName();                int i = name.indexOf('.');                if (i != -1) {                    name = name.substring(i);                    if ( name.equalsIgnoreCase(".mp4")                            || name.equalsIgnoreCase(".3gp") ){                    //得到文件路径                        String file_path = file.getAbsolutePath();                        //得到文件名称                        String file_name = file.getName();                        Info info = new Info();                        info.setName(file_name);                        info.setPath(file_path);                        list.add(info);                        return true;                    }                }else if(file.isDirectory()){//如果此文件夹存在子目录                //继续递归搜索子目录,如果注释,则只搜索当前目录                GetFilePath(list,file);                }                return false;            }        });    }


0 0
原创粉丝点击