Вроде все проверил, буду благодарен за подсказки - что можно ещё проверить?
package com.javarush.task.task31.task3101;
import java.io.*;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
String pathName = args[0];
String fileName = args[1];
File sourceFile = new File(fileName);
File allFilesContent = new File(sourceFile.getParent() + "/allFilesContent.txt");
FileUtils.renameFile(sourceFile, allFilesContent);
List<File> files = new ArrayList<>();
if (!allFilesContent.exists()) allFilesContent.createNewFile();
try (FileOutputStream writer = new FileOutputStream(allFilesContent)) {
addToList(new File(pathName), files);
files.sort(Comparator.comparing(File::getName));
for (File file : files) {
FileInputStream reader = new FileInputStream(file);
while (reader.available() > 0) writer.write(reader.read());
writer.write(System.lineSeparator().getBytes());
writer.flush();
reader.close();
}
}
}
public static void addToList(File file, List<File> files) {
String[] fileList = file.list();
if (fileList != null && fileList.length > 0) {
for (int i = 0; i < fileList.length; i++) {
File f = new File(file.getPath(), fileList[i]);
if (f.isDirectory()) {
addToList(f, files);
continue;
}
if (f.isFile() && f.length() <= 50) files.add(f);
}
}
}
}