Всем привет, не проходит по первому пункту решение....причем файл переименовывается как надо ...но валя наотрез отказывается принимать......есть у кого идеи ..или эта задача опять из тех, что или как у валидатора или никак?
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 {
ArrayList<File> files;
File directory;
File resultFile;
File resultFileNew;
public static void main(String[] args) throws Exception{
Solution sol = new Solution();
sol.go(args[0],args[1]);
}
public void go(String path, String file) throws Exception{
directory = new File(path);
resultFile = new File(file);
resultFileNew = new File(resultFile.getParent() + "\\allFilesContent.txt" );
if(!FileUtils.isExist(resultFileNew)){
FileUtils.renameFile(resultFile, resultFileNew);
}
files = new ArrayList<>();
Files.walkFileTree(directory.toPath(), new MyVisitor());
System.out.println(files);
System.out.println(files.size());
Collections.sort(files, new Comparator<File>() {
@Override
public int compare(File o1, File o2) {
return (o1.getName()).compareTo(o2.getName());
}
});
for(File f: files){
copyFiles(f,resultFileNew);
}
}
public void copyFiles(File sourceFile, File destFile){
try(FileInputStream fis = new FileInputStream(sourceFile);
FileOutputStream fos = new FileOutputStream(destFile,true)){
int i;
while((i=fis.read())!= -1){
fos.write(i);
}
fos.write("\n".getBytes());
}catch(IOException ex){
ex.printStackTrace();
}
}
class MyVisitor extends SimpleFileVisitor<Path>{
@Override
public FileVisitResult visitFile(Path path, BasicFileAttributes attrs) throws IOException {
System.out.println(path.getFileName());
if(attrs.size() <= 50 && !(path.getFileName().toString()).equals(resultFileNew.getName())){
files.add(path.toFile());
}
return FileVisitResult.CONTINUE;
}
}
}