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 扫描文件栈溢出有关问题,自己写的扫描文件方法
热度:7 发布时间:2016-05-01 16:27:22.0
相关解决方案
- android 读取byte[]中的元素解决方案
- android 标题栏兑现方式
- android 中Activity向BroadcastReceiver发送数据,该怎么解决
- Android 4.0 为什么模拟器老是提示小弟我谷歌拼音输入法已停止
- android:getSharedPreferences() 这是哪个类的方法解决思路
- android 怎么判断一个程序是否联网
- android 大量数据按周分组,该如何解决
- android RadioButton如何设置默认选中
- ksoap2-android-这个包,连接webService怎么设置超时
- android 怎么重新设置锚点
- android UI界面设计解决方案
- android 图片对象获取的有关问题
- android 怎么调用淘宝支付宝接口
- Android 沿袭InputMethodService自定义输入法
- android 关于服务连接的疑义
- android 两个activity如何通信
- android 怎么实现对view的放大和缩小
- android 教程解决方法
- android ID,该如何处理
- 准备复习2-3个月,看java+android,请问有经验者,怎么看效果最好》
- android UI线程与AsyncTask的有关问题
- android(java)中的java.net能不能和c#的system.net.sockets进行tcp通信,该如何解决
- android ListView 中的onItemClick Intent 没法跳转
- android(java) 中文乱码的有关问题
- c#c++,android,ios(iphone),php,java视屏课程 散分
- android Post文件到ASP.NET的有关问题,能收到参数收不到文件
- RIM 替 Android 开发者提供免费的 PlayBook!2月13日前
- android 动态设立控件高度
- Android test project 编译方法
- android -相机使用教程(1)解决方法