Меня уже за***ло угождать валику а не решать задачи, несколькими способами пробовал.
Если вообще делать согласно регламенту написания кода, он вообще ни 1 пункта не принимает.
package com.javarush.task.task31.task3101;
import java.io.*;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
File path = new File(args[0]);
File targetFile = new File(args[1]);
File targetNewFileName = new File(targetFile.getParent() + "/" + "allFilesContent.txt");
if (FileUtils.isExist(targetNewFileName)){
FileUtils.deleteFile(targetNewFileName);
}
FileUtils.renameFile(targetFile, targetNewFileName);
List<File> files = Solution.getFiles(path);
Iterator<File> iter = files.iterator();
while (iter.hasNext()){
File curF = iter.next();
if (curF.length()>50
&& !curF.getName().endsWith(".txt")
&& curF.getAbsoluteFile().equals(targetFile)
&& curF.getAbsoluteFile().equals(targetNewFileName)){
iter.remove();
}
}
Collections.sort(files);
BufferedWriter fileWriter = new BufferedWriter(new FileWriter(targetNewFileName), 200);
for (File file : files){
BufferedReader fileReader = new BufferedReader(new FileReader(file), 51);
while (fileReader.ready()) {
fileWriter.write(fileReader.readLine());
if (fileReader.ready())
fileWriter.newLine();
}
fileWriter.write("\n");
fileReader.close();
}
fileWriter.close();
}
public static List<File> getFiles(File file){
List<File> files = new ArrayList<>();
if (file.listFiles()!=null) {
for (File file1 : file.listFiles()) {
if (!file1.isDirectory()){
files.add(file1);
} else {
files.addAll(getFiles(file1));
}
}
}
return files;
}
}