我发现的最近的事情是:How do I create a Java string from the contents of a file? 我已经使用过这个,寻找换行符并使用while hasNext()循环,但我想知道是否有相应的图像文件?我想将文件夹中的图像添加到某个点或直到添加所有图像
答案 0 :(得分:2)
要列出目录的内容,您可以从...开始
File[] contents = new File("/path/to/images").listFiles();
您现在只需要遍历列表以确定如何单独处理每个File
...
现在,您可以节省一些时间并提供FileFilter
,这样您就可以先发制人地丢弃您可能不感兴趣的文件......
File[] contents = new File("path").listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
String name = pathname.getName().toLowerCase();
return name.endsWith(".png")
|| name.endsWith(".jpg")
|| name.endsWith(".jpeg")
|| name.endsWith(".gif")
|| name.endsWith(".bmp");
}
});
获得图像文件列表后,需要迭代列表
for (File imageFile : contents) {
// Deal with the file...
}
有关详细信息,请查看java.io.File
同样,您可以使用新的Files
API ...
try {
final Path master = new File("C:\\Users\\shane\\Dropbox\\MegaTokyo").toPath();
Files.walkFileTree(master, new FileVisitor<Path>() {
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
return dir.equals(master) ? FileVisitResult.CONTINUE : FileVisitResult.SKIP_SUBTREE;
}
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
System.out.println(file);
// Process the file result here
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
return FileVisitResult.CONTINUE;
}
});
} catch (IOException exp) {
exp.printStackTrace();
}