Я дурак или валидатор?
package com.javarush.task.task31.task3101;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Map;
import java.util.TreeMap;
/*
Проход по дереву файлов
*/
public class Solution {
private static void recursiveSearch(File folder, Map<String, String> filesMap) {
File[] allInFolder = folder.listFiles();
for (int i = 0; i < allInFolder.length; i++) {
if (allInFolder[i].isFile()) {
if (allInFolder[i].length() < 50) {
filesMap.put(allInFolder[i].getName(), allInFolder[i].getAbsolutePath());
}
} else if (allInFolder[i].isDirectory()) {
recursiveSearch(allInFolder[i], filesMap);
}
}
}
public static void main(String[] args) {
String path = args[0];
String resultFileAbsolutePath = args[1];
File folder = new File(path);
TreeMap<String, String> filesMap = new TreeMap<>();
File resultFile = new File(resultFileAbsolutePath);
File newFile = new File(resultFile.getParent() + File.separator + "allFilesContent.txt");
resultFile.renameTo(newFile);
recursiveSearch(folder, filesMap);
try (FileOutputStream fos = new FileOutputStream(newFile)) {
filesMap.forEach((k,v) -> {
try (FileInputStream fis = new FileInputStream(v)) {
byte[]buff = new byte[fis.available()];
fis.read(buff);
fos.write(buff);
fos.write("\n".getBytes());
} catch (IOException e) {
e.printStackTrace();
System.err.println("err_in_lambda");
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
}