Код по условию задачи вроде работает, проверял. Переименовывает файл и записывает в него байты из файлов директорий , если не больше 50 байт, через \n
package com.javarush.task.task31.task3101;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.EnumSet;
import java.util.Map;
import java.util.TreeMap;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args){
String path = args[0];//"S:\\Desktop\\1";
String resultFileAbsolutePath = args[1];// "S:\\Desktop\\2.txt";
final String RAZD = "/";
File oldFile = new File(resultFileAbsolutePath);
File newFile = new File(oldFile.getParent() + RAZD + "allFilesContent.txt");
FileUtils.renameFile(oldFile,newFile);
try( FileOutputStream fileW = new FileOutputStream(newFile);
){
File directory = new File(path);
File[] files = directory.listFiles();
for (File file : files)
if (file.length() <= 50){
FileInputStream fileR = new FileInputStream(file);
byte[] bytes = new byte[fileR.available()];
fileR.read(bytes);
fileW.write(bytes);
fileW.write('\n');
fileR.close();
}
} catch (Exception e){
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}