5

次のコードを使用して、Java でファイルを選択しています。

  File folder = new File("path to folder");
  File[] listOfFiles = folder.listFiles();

画像ファイルだけを選択したい場合はどうすればよいですか?

4

3 に答える 3

4

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());
   }
});
于 2013-07-15T11:13:10.763 に答える
1

このコードが役に立ちますように

         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;
                }
            }
        }
于 2013-07-15T11:18:54.720 に答える