Не проходит 3й пункт. Делал с помощью рекурсии. Помогите
package com.javarush.task.task31.task3101;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.EnumSet;
import java.util.Map;
import java.util.TreeMap;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
String path = args[0];
String resultFileAbsolutePath = args[1];
File oldFile = new File(resultFileAbsolutePath);
oldFile.createNewFile();
String newFileName = oldFile.getParent() + "/" + "allFilesContent.txt";
FileUtils.renameFile(oldFile, new File(newFileName));
FileOutputStream fos = new FileOutputStream(newFileName);
List<File> files= new ArrayList<>();
extractFiles(files, new File(path));
Collections.sort(files, new Comparator<File>() {
public int compare(File f1, File f2) {
return f1.getName().compareTo(f2.getName());
}
});
for (File file: files) {
FileInputStream fis = new FileInputStream(file);
while (fis.available() > 0) {
int i = fis.read();
fos.write(i);
}
fis.close();
fos.write((int) '\n');
}
fos.close();
}
private static void extractFiles(List<File> files, File file) {
if (file.isFile() && file.length() <= 50) files.add(file);
else if (file.isDirectory())
for (File newFile: file.listFiles()) extractFiles(files, newFile);
}
}