Java 7 nio 列表目录带通配符
Java 7 nio list directory with wildcard
我想使用通配符在目录中查找文件。我在 Java 6 中有这个,但想将代码转换为 Java 7 NIO:
File dir = new File(mydir);
FileFilter fileFilter = new WildcardFileFilter(identifier+".*");
File[] files = dir.listFiles(fileFilter);
没有 WildcardFileFilter
,我已经尝试了一些 globs。
您可以使用 directory stream with a glob 如:
DirectoryStream<Path> stream = Files.newDirectoryStream(dir, identifier+".*")
然后遍历文件路径:
for (Path entry: stream) {
}
您可以将 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();
我想使用通配符在目录中查找文件。我在 Java 6 中有这个,但想将代码转换为 Java 7 NIO:
File dir = new File(mydir);
FileFilter fileFilter = new WildcardFileFilter(identifier+".*");
File[] files = dir.listFiles(fileFilter);
没有 WildcardFileFilter
,我已经尝试了一些 globs。
您可以使用 directory stream with a glob 如:
DirectoryStream<Path> stream = Files.newDirectoryStream(dir, identifier+".*")
然后遍历文件路径:
for (Path entry: stream) {
}
您可以将 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();