Почему пишет Can not rename file with name resultFileAbsolutePath.txt
И как я понимаю файл куда записывают необязательно должен находится в одной директории с файлами откуда берут содержимое?
package com.javarush.task.task31.task3101;
import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException {
File file2 = new File(args[0]);
File resultFileAbsolutePath = new File(args[1]);
File allFilesContent = new File("allFilesContent" + ".txt");
FileUtils.renameFile(resultFileAbsolutePath.getAbsoluteFile(), allFilesContent.getAbsoluteFile());
ArrayDeque<String> q = new ArrayDeque<>();
Map<String, String> map = new TreeMap<>(Collections.reverseOrder());
do {
if (q.size() != 0) {
file2 = new File((String) q.poll());
}
for (File e : file2.listFiles()) {
if (e.isFile()) {
if (e.length() < 50) {
map.put(e.getName(), e.getAbsolutePath());
}
} else if (e.isDirectory()) {
q.add(e.getAbsolutePath());
}
}
} while (q.size() > 0);
FileInputStream fis = null;
FileOutputStream fos = new FileOutputStream(allFilesContent.getAbsolutePath());
for (Map.Entry<String,String> e : map.entrySet()) {
fis = new FileInputStream(map.get(e.getKey()));
while(fis.available() > 0) {
int data = fis.read();
fos.write(data);
}
fos.write('\n');
}
if(fis != null) {
fis.close();
}
fos.close();
}
}