gpt4 book ai didi

java使用iterator遍历指定目录示例分享

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

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的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com