- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章java使用iterator遍历指定目录示例分享由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
可以遍历指定目录(一个或多个)及其所有子文件,用Iterator实现 。
。
package archiver.util,
。
import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List,
public class FileIterator implements Iterator<File>, Iterable<File> { private Iterator<String> iterator; private List<String> paths; private List<File> dirs,
public FileIterator(List<String> paths) { this.paths = new ArrayList<String>(paths); this.dirs = new ArrayList<File>(); this.iterator = this.paths.iterator(); } 。
public File next() { File file = null; if (hasNext()) { file = new File(iterator.next()); if (file.isDirectory()) { dirs.add(file); } } return file; } 。
public boolean hasNext() { if (!iterator.hasNext()) { paths.clear(); for (File dir : dirs) { for (String name : dir.list()) { paths.add(dir.getPath()+File.separator+name); } } dirs.clear(); if (paths.size() == 0) { return false; } iterator = paths.iterator(); } return true; } 。
@Override public void remove() { throw new UnsupportedOperationException(); } @Override public Iterator<File> iterator() { return this; } public static void main(String[] args) { FileIterator iter = new FileIterator(Arrays.asList(".")); for (File file : iter) { System.out.println(file); } } } 。
。
最后此篇关于java使用iterator遍历指定目录示例分享的文章就讲到这里了,如果你想了解更多关于java使用iterator遍历指定目录示例分享的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!