Я делаю программу, которая меняет изображения серого на черно-белые изображения, программа должна читать все .png-файлы из папки и подпапок и после их редактирования сохранять к новому реж. Все работало по назначению, но я внес некоторые изменения, и теперь программа только считывает файлы из первой папки или подпапки с изображениями.Java читает файлы в папке и вложенных папках
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);
}
}
}
Я был бы признателен за вашу помощь в выяснении причины этого.
Thx для ответа и совета я знаю, что код был жестоким. Btw Я нашел ошибку, я забыл проверить, был ли файл png перед изменением цвета, поэтому из-за этого был прочитан скрытый файл. – Runaider
Никто не начинает писать идеальный код, не беспокойтесь! Повеселись! –