Уже устал бороться с валидатором))
package com.javarush.task.task31.task3101;
import java.io.*;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
String directory = /*"D:/file/java";*/ args[0];
String result = /*"D:/file/result.txt";*/ args[1];
File fileSource = new File(result);
fileSource.createNewFile();
File fileDestination = new File(fileSource.getParent() + "/allFilesContent.txt");
FileUtils.renameFile(fileSource, fileDestination);
FileWriter fileWriter = new FileWriter(fileDestination);
Map<String,String> filesMap = new TreeMap<>();
allDirectories(directory, filesMap);
for (Map.Entry<String, String> pair : filesMap.entrySet()) {
FileReader fileReader = new FileReader(pair.getValue());
while (fileReader.ready()) {
int data = fileReader.read();
fileWriter.write(data);
}
char b = '\n';
fileWriter.write(b);
}
fileWriter.close();
}
public static void allDirectories(String directory, Map<String, String> map) {
File folder = new File(directory);
for (File file : folder.listFiles()) {
if (file.isDirectory()) {
allDirectories(file.getAbsolutePath(), map);
} else if (file.length() <= 50) {
map.put(file.getName(), file.getAbsolutePath());
} else if (file.length() > 50) FileUtils.deleteFile(file);
}
}
}
//public class Solution {
// public static void main(String[] args) throws IOException {
//
// String directory = /*"D:/file/java";*/ args[0];
// String result = /*"D:/file/result.txt";*/ args[1];
//
// File fileSource = new File(result);
// fileSource.createNewFile();
// File fileDestination = new File(fileSource.getParent() + "/allFilesContent.txt");
// FileUtils.renameFile(fileSource, fileDestination);
//
//
// ArrayList<String> filesList = new ArrayList<>();
// allDirectories(directory, filesList);
// Collections.sort(filesList);
//
//
// FileWriter fileWriter = new FileWriter(fileDestination);
// for (int i = 0; i < filesList.size(); i++) {
// FileReader fileReader = new FileReader(filesList.get(i));
// while (fileReader.ready()) {
// int data = fileReader.read();
// fileWriter.write(data);
// }
// char b = '\n';
// fileWriter.write(b);
// }
// fileWriter.close();
// }
//
//
// public static void allDirectories(String directory, ArrayList<String> list) {
// File folder = new File(directory);
// for (File file : folder.listFiles()) {
// if (file.isDirectory()) {
// allDirectories(file.getAbsolutePath(), list);
// } else if (file.length() <= 50) list.add(file.getAbsolutePath());
// }
// }
//}