This code should work with Java 7
File dir = new File("images");
List<File> files = Arrays.asList(dir.listFiles(new FileFilter() {
boolean accept(File pathName) {
return pathName.getName().toLowerCase().endsWith(".jpg");
}
}));
for (File f: files) {
list.add(resizeImage(ImageIO.read(f)));
}
Collections.shuffle(list);
With Java 8 this code can be written as
File dir = new File("images");
List<File> files = Arrays.asList(dir.listFiles(
(pathName) -> pathName.getName().toLowerCase().endsWith(".jpg");
));
for (File f: files) {
list.add(resizeImage(ImageIO.read(f)));
}
Collections.shuffle(list);
and with NIO.2 and stream API:
Path folder = Paths.get("images");
List<Path> paths = Files.list(folder)
.filter((path) -> path.toString().toLowerCase().endsWith(".jpg"))
.collect(Collectors.asList());
for (Path path: paths) {
list.add(resizeImage(ImageIO.read(path.toFile())));
}
Collections.shuffle(list);