首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android 扫描文件栈溢出有关问题,自己写的扫描文件方法

2012-09-06 
android 扫描文件栈溢出问题,自己写的扫描文件方法class Scaning{private ArrayListString list//保存

android 扫描文件栈溢出问题,自己写的扫描文件方法

class Scaning{        private ArrayList<String> list;//保存扫描的文件        public List<String> queue=null;//用一个list,做法跟队列一样        public Scaning(String root){    list=new ArrayList<String>();    queue=(List<String>) Collections.synchronizedList(new LinkedList<String>());    queue.add(root);    }    public void scaning(){    new Thread(new Runnable() {    @Override    public void run() {    if(queue.size()>0){    new Thread(new ScanThread(queue.get(0))).start();    }    }    }).start();    }            class ScanThread implements Runnable{    private String root;        private File [] files;        ScanThread(String root){    this.root=root;    }    @Override    public void run() {    synchronized (queue) {    if(null!=root){    files=new File(root).listFiles();    if(null!=files){    for(File f:files){    if(f.isDirectory()){    queue.add(f.getAbsolutePath());    }else{    list.add(f.getAbsolutePath());    Log.e("ScanFile",f.getAbsolutePath());    }    }    }    queue.remove(root);    if(queue.size()>0){    new Thread(new ScanThread(queue.get(0))).start();    }else{    Log.e("ScanFile","scaning finish");    }    }    }            }    }    }

热点排行