ничего не понимаю
package com.javarush.task.task31.task3101;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void collectionFiles (File path, List<String> listFiles, Map<String, File> absoluteNames) {
for (File file:path.listFiles()
) {
if (file.isDirectory()) {
collectionFiles(file, listFiles, absoluteNames);
} else {
if (file.length() <= 50) {
listFiles.add(file.getName());
absoluteNames.put(file.getName(), file);
}
}
}
}
public static void main(String[] args) throws IOException {
File path = new File (args[0]);
File resultFileAbsolutePath = new File (args[1]);
File allFilesContent = null;
if (FileUtils.isExist(resultFileAbsolutePath)) {
allFilesContent = new File(resultFileAbsolutePath.getParent() + "/allFilesContent.txt");
FileUtils.renameFile(resultFileAbsolutePath, allFilesContent);
}
FileWriter writer = new FileWriter(allFilesContent, true);
List<String> listFiles = new ArrayList<>(path.list().length);
Map<String, File> absoluteNames = new HashMap<>(path.list().length);
collectionFiles(path, listFiles, absoluteNames);
Collections.sort(listFiles);
for (String name:listFiles
) {
FileReader reader = new FileReader(absoluteNames.get(name));
while (reader.ready()) {
writer.write(reader.read());
}
writer.write("\n");
reader.close();
}
writer.close();
}
}