java - 如何扫描图像文件夹并将其添加到图像数组

标签 java image arraylist file-io javax.imageio

我正在开发一个项目,其中一个要求是扫描包含不同图像的文件夹。我需要找到一种方法来扫描文件夹并将每个图像添加到图像数组中。这就是我想做的事情

public class ImageScan {
   private ArrayList<Image> images = new ArrayList<>(); 

   public void loadImages() {

   ArrayList<Image> image_Array = new ArrayList<>();

   File file = new File("data/images");         
   BufferedImage image = ImageIO.read(file);

      while(image.hasNextImage()) {//hasnextImage() is  not a valid method, 
      //just to express my idea.

         Image image = //save read Image to an image instance
         //here all I want to do is add each image I obtain into an 
         //arrayList of images      

         image_Array.add(image);        
      }//end of while       

   this.setImages(image_Array);// i set image_Array using getter method 
   }//end of loadData method

}//end of class

最佳答案

好的,这就是我创建的:

import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

import javax.imageio.ImageIO;

public class ImageScan {

    private List<Image> images = new ArrayList<Image>();

    public void loadImages() {

        List<Image> imageArray = new ArrayList<Image>();

        File file = new File("data/images");

        File[] imageFiles = file.listFiles(); // This gets all of the files inside 
'file', if 'file' is a folder
        for (File f : imageFiles) {
            try {
                BufferedImage image = ImageIO.read(f);
                imageArray.add(image);
            } catch (Exception e) {
                // This makes sure only the images in the folder are used, not any 
file.
            }
        }

        this.setImages(imageArray);
    }

    public void setImages(List<Image> imageArray) {
        images = imageArray;
    }

    public List<Image> getImages() {
        return images;
    }

}

关于java - 如何扫描图像文件夹并将其添加到图像数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55287487/

相关文章:

java - 我们如何从 GraphQL 的 RequestContextHolder 获取 GraphQL 的 HttpServletRequest(DefaultGlobalContext)(使用 graphql-spqr-spring-boot-starter)?

arraylist - 在kotlin中将一个数组列表复制到另一个数组列表

java - 检查两个不同的 ArrayLists 是否相等

java - 使用 Hibernate Envers 进行审计

java - 如何理解Java Thread中的wait和notify方法?

java - 将源参数从 Java 应用程序传递到 Flash 播放器

css - div 中的段落垂直居中

python - PIL ImageGrab 在 VirtualBox 的第二个虚拟监视器上失败

javascript - 为什么 canvas.toDataURL() 不会为图像生成与 Ruby 中相同的 base64?

java - 如何读取jsonArray的Character并将字符存储在ArrayList中?