Не пропускает валик по пункту закрытия потока записи , хотя поток закрыт!
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 oldFile = new File(args[1]);
File folder = new File(args[0]);
Queue<File> directories = new ArrayDeque<>();
List<File> result = new ArrayList<>();
FileInputStream fileInputStream = null;
directories.offer(folder);//*//добавили дерикторию в КОНЕЦ ОЧЕРЕДИ
while (!directories.isEmpty()) {//пока дериктория не пустая
for (File file : directories.poll().listFiles()) {
if (file.isDirectory()) {
directories.offer(file);
} else {
//result.add(file.getAbsolutePath());
result.add(new File(file.getAbsolutePath()));
}
}
}
File newFile = new File(oldFile.getParent() + "/" + "allFilesContent.txt");
FileOutputStream fileOutputStream = new FileOutputStream(newFile);
if (FileUtils.isExist(oldFile)) {
FileUtils.renameFile(oldFile, newFile);
}
for (File file : result) {
if (file.length() <= 50 && !file.isDirectory()) {
fileInputStream = new FileInputStream(file);
byte[] bytes = new byte[(int) file.length()];
fileInputStream.read(bytes);
fileOutputStream.write(bytes);
fileOutputStream.write("\n".getBytes());
}
}
fileInputStream.close();
fileOutputStream.close();
}
}
