次のコードを使用して、Java でファイルを選択しています。
File folder = new File("path to folder");
File[] listOfFiles = folder.listFiles();
画像ファイルだけを選択したい場合はどうすればよいですか?
ImageIO.getReaderFileSuffixes を使用して、FilenameFilterでFile.listFiles ()を使用できます。
File[] files = dir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
List<String> images = Arrays.asList(ImageIO.getReaderFileSuffixes());
String extension = "";
int i = name.lastIndexOf('.');
if (i > 0) {
extension = name.substring(i+1);
}
return images.contains(extension.toLowerCase());
}
});
このコードが役に立ちますように
String imageExtension[] = new String[]{
"jpg", "png", "bmp" // add more
};
File direcory = new File("path");
File[] listFiles = direcory.listFiles();
ArrayList<File> imageFileList = new ArrayList();
for(File aFile : listFiles ) {
// use FilenameUtils.getExtension from Apache Commons IO
String extension = FilenameUtils.getExtension(aFile.getAbsolutePath());
for(String ext: imageExtension) {
if(extension.equals(ext)) {
imageFileList.add(aFile);
break;
}
}
}