Создаётся объект File с новым именем файла allFilesContent.txt, указывается полный путь.
public static void main(String[] args) {
File path = new File(args[0]);
File resultFileAbsolutePath = new File(args[1]);
File newFile = null;
if(FileUtils.isExist(resultFileAbsolutePath)) {
newFile = new File(resultFileAbsolutePath.getParent() + "/allFilesContent.txt");
FileUtils.renameFile(resultFileAbsolutePath, newFile);
}
...
Создаётся поток для записи в переименованный файл
FileWriter writer = null;
try {
writer = new FileWriter(newFile, true);
...
Закрывается поток для записи
writer.close();
В чём кроется ошибка?package com.javarush.task.task31.task3101;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) {
File path = new File(args[0]);
File resultFileAbsolutePath = new File(args[1]);
File newFile = null;
if(FileUtils.isExist(resultFileAbsolutePath)) {
newFile = new File(resultFileAbsolutePath.getParent() + "/allFilesContent.txt");
FileUtils.renameFile(resultFileAbsolutePath, newFile);
}
Set<File> files = getListOfFiles(path);
FileWriter writer = null;
try {
writer = new FileWriter(newFile, true);
} catch (IOException e) {
System.out.println("Не удалось открыть поток для записи");
}
for (File file : files) {
try (FileReader reader = new FileReader(file)) {
char[] chars = new char[(int) file.length()];
reader.read(chars);
writer.write(chars);
writer.write("\n");
} catch (IOException e) {
System.out.println("Возникли ошибки при чтении и записи в файл!");
}
}
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private static Set<File> getListOfFiles(File path) {
Set<File> result = new TreeSet<>();
for(File file : path.listFiles()) {
if(file.isFile() && file.length() <= 50) {
result.add(file);
}
if(file.isDirectory()) {
result.addAll(getListOfFiles(file));
}
}
return result;
}
}