Здравствуйте!
Подскажите где ошибка.
Спасибо!
package com.javarush.task.task31.task3101;
import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) {
Path path = Paths.get(args[0]);
File resultFileAbsolutePath = new File(args[1]);
File allFilesContent = new File(resultFileAbsolutePath.getParent() + "\\allFilesContent.txt");
FileUtils.deleteFile(allFilesContent);
if(FileUtils.isExist(resultFileAbsolutePath)){
FileUtils.renameFile(resultFileAbsolutePath, allFilesContent);
}
else {
try {
allFilesContent.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
ArrayList<Path> names = new ArrayList<>();
try {
SimpleFileVisitor visitor = new SimpleFileVisitor<Path>(){
@Override
public FileVisitResult visitFile(Path path, BasicFileAttributes attributes) throws IOException{
if (path.toFile().length() <=50 && !path.toFile().isDirectory()){
names.add(path);
}
return FileVisitResult.CONTINUE;
}
};
Files.walkFileTree(path,visitor);
} catch (IOException e) {
e.printStackTrace();
}
Collections.sort(names, new Comparator<Path>() {
@Override
public int compare(Path o1, Path o2) {
return o1.getFileName().compareTo(o2.getFileName());
}
});
for (Path paths : names) {
try (BufferedReader reader = new BufferedReader(new FileReader(paths.toFile())); BufferedWriter writer = new BufferedWriter(new FileWriter(allFilesContent, true))) {
while (reader.ready()){
writer.write(reader.readLine());
writer.newLine();
}
writer.write("\n");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}