Цеплял и через сет и через мап одно и тоже
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.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
ArrayList<File> fileList = new ArrayList<>();
File path = new File(args[0]);
File resultFileAbsolutePath = new File(args[1]);
File allFilesContent = new File(resultFileAbsolutePath.getParent()+"/allFilesContent.txt");
FileUtils.renameFile(resultFileAbsolutePath, allFilesContent);
try(FileOutputStream fos = new FileOutputStream(allFilesContent)) {
fillFileList(path.getPath(), fileList);
Collections.sort(fileList, (o1, o2) -> o1.getName().compareToIgnoreCase(o2.getName()));
for (File file: fileList) {
if (file.isDirectory()) {
break;
}
FileInputStream fis = new FileInputStream(file);
while (fis.available()>0) {
fos.write(fis.read());
}
fos.write(System.lineSeparator().getBytes());
fos.flush();
fis.close();
}
}
}
public static void fillFileList(String patch, ArrayList<File> fileList){
File dirr = new File(patch);
for(File file : dirr.listFiles()){
if (!file.isDirectory()){
if (file.length()<=50){fileList.add(file);}}
}
}
}