【问题标题】:Java 7 nio list directory with wildcard带有通配符的 Java 7 nio 列表目录
【发布时间】:2015-07-17 06:27:37
【问题描述】:

我想使用通配符在目录中查找文件。我在 Java 6 中有这个,但想将代码转换为 Java 7 NIO:

 File dir = new File(mydir); 
 FileFilter fileFilter = new WildcardFileFilter(identifier+".*");
 File[] files = dir.listFiles(fileFilter);

没有WildcardFileFilter,我玩过一些球。

【问题讨论】:

标签: java nio


【解决方案1】:

您可以将 glob 传递给 DirectoryStream

import java.nio.file.DirectoryStream;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
...

Path dir = FileSystems.getDefault().getPath( filePath );
DirectoryStream<Path> stream = Files.newDirectoryStream( dir, "*.{txt,doc,pdf,ppt}" );
for (Path path : stream) {
    System.out.println( path.getFileName() );
}
stream.close();

【讨论】:

  • 我想你需要演员表吗? for(路径路径:(路径)流){
  • @Jabda,你是对的。现在已修复(添加了 DIrectoryStream ...)。
【解决方案2】:

您可以将directory streamglob 一起使用,例如:

DirectoryStream<Path> stream = Files.newDirectoryStream(dir, identifier+".*")

然后迭代文件路径:

for (Path entry: stream) {
}

【讨论】:

    猜你喜欢
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    相关资源
    最近更新 更多