подскажите что не так снова сделал?
package com.javarush.task.task31.task3101;
import java.io.*;
import java.nio.file.*;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
//1. Определение переменных
boolean debug = false;//Признак отладки
String path = "";
String resultFileAbsolutePath = "";
File rootDir = null;
File file = null;
//2. Установка значений перменным
if (debug) {
path = "C:\\JR\\test\\";
resultFileAbsolutePath = "C:\\JR\\test.txt";
} else {
path = args[0];
resultFileAbsolutePath = args[1];
}
rootDir = new File(path);
file = new File(resultFileAbsolutePath);
//3. Проверяем выходной файл, в случае необходимоти переименовываем его
File targetFile = new File(file.getParent() + File.separator + "allFilesContent.txt");
if (FileUtils.isExist(file)) {
FileUtils.renameFile(file, targetFile);
} else {
targetFile.createNewFile();
}
file = targetFile;
//4. Получаем список файлов
SortedSet<myFile> fileSet = new TreeSet<>();//Здесь будем хранить файлы
//Обходим файлы в директории
Queue<File> fileQueue = new PriorityQueue<>();
fileQueue.add(rootDir);
while (!fileQueue.isEmpty()) {
File currentFile = fileQueue.remove();
if (currentFile.isDirectory()) {
Collections.addAll(fileQueue, currentFile.listFiles());
} else {
if (currentFile.isFile() && currentFile.length() <= 50) {
fileSet.add(new myFile(currentFile.getPath(), currentFile.getName()));
}
}
}
//5. Переписываем информацию в выходной файл
try (OutputStream fWriter = new FileOutputStream(file)) {
for (myFile myFile : fileSet) {
byte[] bytes = Files.readAllBytes(Paths.get(myFile.fullName));
fWriter.write(bytes);
fWriter.write("\n".getBytes());
}
}
}
}
class myFile implements Comparable<myFile> {
public String name;
public String fullName;
public myFile(String fullName, String name) {
this.fullName = fullName;
this.name = name;
}
@Override
public int compareTo(myFile o) {
return name.compareTo(o.name);
}
}
