Локально всё ок. Может сортировка ему не нравится и нужно учитывать путь. Не могу понять
package com.javarush.task.task31.task3101;
import java.io.*;
import java.lang.reflect.Array;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) {
// args = new String[]{"d:/temp", "d:/temp/1.txt"};
File path = new File(args[0]);
File resultFileAbsolutePath = new File(args[1]);
if(!resultFileAbsolutePath.exists())
{
try {
resultFileAbsolutePath.createNewFile();
}
catch (Exception ex){}
}
File newFile = new File(resultFileAbsolutePath.getParent() + "/allFilesContent.txt");
FileUtils.renameFile(resultFileAbsolutePath, newFile);
List<File> files = new ArrayList<>(Arrays.asList(path.listFiles()));
Queue<File> queue = new PriorityQueue<>(new Comparator<File>() {
@Override
public int compare(File o1, File o2) {
return o1.getName().compareTo(o2.getName());
}
});
while (files.size() > 0)
{
File f = files.get(0);
files.remove(0);
if(f.isDirectory()) {
files.addAll(Arrays.asList(f.listFiles()));
continue;
}
if(f.length() <= 50 && f.compareTo(newFile) != 0)
queue.add(f);
}
try(BufferedWriter writer = new BufferedWriter(new FileWriter(newFile));)
{
while (queue.size() > 0)
{
File f = queue.poll();
BufferedReader reader = new BufferedReader(new FileReader(f));
while (reader.ready()){
writer.write(reader.readLine());
writer.newLine();
}
}
}catch (Exception ex){
System.out.println(ex.toString());
}
}
}