Подскажите, что не так? Не проходит 3 условие. Мое предположение, что не во всех подпапках файлы читает, но как это сделать без рекурсии - не знаю, а для рекурсии нужен статический список.
package com.javarush.task.task31.task3101;
import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
File directory = new File(args[0]);
File file1 = new File(args[1]);
String fileDirectory = file1.getParent();
File file2 = new File(fileDirectory + "\\" + "allFilesContent.txt");
FileUtils.renameFile(file1, file2);
ArrayList<String> listOfFiles = new ArrayList<>();
for(File file3: directory.listFiles()) {
if (file3.isDirectory()) {
for (File file4 : file3.listFiles()) {
if (file4.length() <= 50) {
listOfFiles.add(file4.getAbsolutePath());
}
}
} else if (file3.length() <= 50) {
listOfFiles.add(file3.getAbsolutePath());
}
}
Collections.sort(listOfFiles);
FileOutputStream writer = new FileOutputStream(file2);
for (String fileName: listOfFiles) {
byte[] b = Files.readAllBytes(Paths.get(fileName));
writer.write(b);
writer.write("\n".getBytes());
}
writer.close();
}
}