не могу понять почему не работает.
Содержимое всех файлов, размер которых не превышает 50 байт, должно быть записано в файл allFilesContent.txt.
в тестах на пк работает с любым количеством подпапок и файлов.
p.s на закомментированный код не обращайте внимания.
package com.javarush.task.task31.task3101;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) {
File second = new File(args[1]);
File directorySecond = new File(second.getParent() + "/allFilesContent.txt");
if (FileUtils.isExist(directorySecond)) {
FileUtils.deleteFile(directorySecond);
}
FileUtils.renameFile(second, directorySecond);
Path temp = Paths.get(args[0]);
try (OutputStreamWriter fileOutputStream = new OutputStreamWriter(new FileOutputStream(directorySecond));
Stream<Path> a = Files.walk(temp)) {
List<Path> result = a.collect(Collectors.toList());
for (Path x : result) {
File temp1 = new File(String.valueOf(x));
if (temp1.length() <= 50) {
FileInputStream fileInputStream = new FileInputStream(temp1);
while (fileInputStream.available() > 0) {
fileOutputStream.write(fileInputStream.read());
}
fileOutputStream.flush();
fileOutputStream.write("\n");
fileInputStream.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}
// try (OutputStreamWriter fileOutputStream = new OutputStreamWriter(new FileOutputStream(directorySecond))) {
// File pathDirectory = new File(args[0] + "\\");
// for (File file : Objects.requireNonNull(pathDirectory.listFiles())) {
// if (file.isDirectory()) {
// for (File file2 : Objects.requireNonNull(file.listFiles())) {
// System.out.println(file2.length());
// if (file2.length() <= 50) {
// FileInputStream fileInputStream = new FileInputStream(file2);
// while (fileInputStream.available() > 0) {
// fileOutputStream.write(fileInputStream.read());
// }
// fileOutputStream.write("\n");
// fileOutputStream.flush();
// fileInputStream.close();
// }
// }
// }
// if (file.isFile()) {
// System.out.println(file.length());
// if (file.length() <= 50) {
// FileInputStream fileInputStream = new FileInputStream(file);
// while (fileInputStream.available() > 0) {
// fileOutputStream.write(fileInputStream.read());
// }
// fileOutputStream.write("\n");
// fileOutputStream.flush();
// fileInputStream.close();
// }
// }
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
}
}