读书人

android 扫描文件栈溢出有关问题自己

发布时间: 2012-09-06 10:37:01 作者: rapoo

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

读书人网 >Android

热点推荐