带有通配符的Java 7 nio列表目录

带有通配符的Java 7 nio列表目录,java,nio,Java,Nio,我想使用通配符在目录中查找文件。我在Java 6中有这一点,但希望将代码转换为Java 7 NIO: File dir = new File(mydir); FileFilter fileFilter = new WildcardFileFilter(identifier+".*"); File[] files = dir.listFiles(fileFilter); 没有WildcardFileFilter,我在globs上玩过一些游戏。你可以使用类似的: 您可以将glob传递给Di

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

 File dir = new File(mydir); 
 FileFilter fileFilter = new WildcardFileFilter(identifier+".*");
 File[] files = dir.listFiles(fileFilter);
没有WildcardFileFilter,我在globs上玩过一些游戏。

你可以使用类似的:


您可以将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();
import java.nio.file.DirectoryStream;
导入java.nio.file.FileSystems;
导入java.nio.file.Files;
导入java.nio.file.Path;
...
Path dir=FileSystems.getDefault().getPath(filePath);
DirectoryStream=Files.newDirectoryStream(dir,“*.{txt,doc,pdf,ppt}”);
用于(路径:流){
System.out.println(path.getFileName());
}
stream.close();

您阅读了吗?请参阅。它应该可以帮助你构建正确的代码。我想你需要一个cast no?对于(路径路径:(路径)流){@Jabda,你是对的。现在已经修复了(DIrectoryStream…添加)。
for (Path entry: stream) {
}
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();