【发布时间】:2015-05-04 18:10:58
【问题描述】:
我正在制作一个将灰度图像更改为黑白图像的程序,该程序必须从文件夹和子文件夹中读取所有 .png 文件,并在编辑后将它们保存到新目录。一切都按预期工作,但我做了一些更改,程序现在只从第一个文件夹或包含图像的子文件夹中读取文件。
public class FindFiles {
public void find(String dir, String finDir){
try {
File folder = new File(dir);
File[] listOfFiles = folder.listFiles();
ChangeColor change = new ChangeColor();
for(int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
change.ChangeC(dir, finDir, listOfFiles[i].getName());
} else if (listOfFiles[i].isDirectory()) {
File f = new File(finDir+"/"+listOfFiles[i].getName());
if (!f.isDirectory()) {
new File(finDir+"/"+listOfFiles[i].getName()).mkdirs();
}
find(dir+"/"+listOfFiles[i].getName(),finDir+"/"+listOfFiles[i].getName());
}
}
} catch (IOException ex) {
Logger.getLogger(FindFiles.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
感谢您帮助找出这背后的原因。
【问题讨论】: