slider

还是菜鸟
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
public class Explorer {
    String TAG = "Explorer";
    private final String DISK_DIR             = "/mnt";
    public static final int DIR_SDCARD         = 0; 
    public static final int DIR_SDCARD_EX     = 1; // external sdcard
    public static final int DIR_USB         = 2; // usb external storage
    
    private static List<String> pathList = new ArrayList<String>();
    
    public String getDiskPath(int typeDir) {
        File[] files = new File(DISK_DIR).listFiles();
        String filePath;
        for (int i = 0; i < files.length; i++) {
            filePath = files[i].getAbsolutePath().toLowerCase();
            Log.d(TAG, "getDiskPath " + filePath);
            switch (typeDir) {
            case DIR_SDCARD:
                if(filePath.equals("/mnt/sdcard"))
                    return filePath;
                break;
            case DIR_SDCARD_EX:
                if (filePath.contains("sdcard") && filePath.contains("ext")) {
                    return filePath;
                }
                break;
            case DIR_USB:
                if(filePath.contains("usb"))
                    return filePath;
                break;
            }
        }
        return null;
    }
    
    private void loadFileList(String dir, final String fileType) {
        File fileDir = new File(dir);
        if (fileDir.exists()) {
            FilenameFilter filter = new FilenameFilter() {
                public boolean accept(File dir, String filename) {
                    File sel = new File(dir, filename);
                    return filename.endsWith(fileType) || sel.isDirectory();
                }
            };
            File[] files = fileDir.listFiles(filter);
            if(files!=null){
                for (File file : files) {
                    String absolutePath = file.getAbsolutePath();
                    if(file.isDirectory()){
                        loadFileList(absolutePath, fileType);
                    }else {
                        pathList.add(absolutePath);
                    }
                }
            }
            
        }
    }
    
    public List<String> getFileList(String dir, final String fileType){
        loadFileList(dir, fileType);
        return pathList;
    }

}