带有通配符的Java 7 nio列表目录
我想使用通配符在目录中找到一个文件。 我在Java 6中有这个,但想将代码转换为Java 7 NIO:
File dir = new File(mydir); FileFilter fileFilter = new WildcardFileFilter(identifier+".*"); File[] files = dir.listFiles(fileFilter);
没有WildcardFileFilter
,我玩了很多。
您可以将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 stream = Files.newDirectoryStream( dir, "*.{txt,doc,pdf,ppt}" ); for (Path path : stream) { System.out.println( path.getFileName() ); } stream.close();
您可以使用带有glob的目录流 :
DirectoryStream stream = Files.newDirectoryStream(dir, identifier+".*")
然后迭代文件路径:
for (Path entry: stream) { }