JAVA批量从多个多级目录的文件夹下读取图片
时间: 2023-08-06 20:01:54 浏览: 63
可以使用Java的File类和递归函数来批量读取多个多级目录下的图片,以下是示例代码:
```java
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
public class ReadImages {
public static void main(String[] args) {
String[] directoryPaths = {"path/to/directory1", "path/to/directory2", "path/to/directory3"};
ArrayList<String> imagePaths = new ArrayList<String>();
for (String directoryPath : directoryPaths) {
readImagesFromDirectory(directoryPath, imagePaths);
}
for (String imagePath : imagePaths) {
try {
BufferedImage image = ImageIO.read(new File(imagePath));
// 处理读取到的图片
} catch (IOException e) {
e.printStackTrace();
}
}
}
private static void readImagesFromDirectory(String directoryPath, ArrayList<String> imagePaths) {
File directory = new File(directoryPath);
File[] files = directory.listFiles();
for (File file : files) {
if (file.isDirectory()) {
readImagesFromDirectory(file.getAbsolutePath(), imagePaths);
} else {
String path = file.getAbsolutePath();
if (path.endsWith(".jpg") || path.endsWith(".png") || path.endsWith(".jpeg")) {
imagePaths.add(path);
}
}
}
}
}
```
该示例代码会读取指定的多个目录下的所有子目录中的所有jpg、png和jpeg格式的图片,并将图片路径存储到ArrayList中,然后逐个读取每张图片并进行处理。