Не проходит по третему пунтку.
package com.javarush.task.task31.task3101;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/*
Проход по дереву файлов
*/
public class Solution {
private List<File> listLessThen50 = new ArrayList<>();
private void recursFind(String path){
File file = new File(path);
if(file.isDirectory()){
File[] files = file.listFiles();
if (files!=null) {
for (File f : files) {
recursFind(f.getPath());
}
}
}else{
if(file.length()<=50){
listLessThen50.add(file);
}
}
}
private void sorted (List<File> listFile){
List<String> strs = new ArrayList<>();
List<File> temporaryList = new ArrayList<>();
for(File file: listFile){
strs.add(file.getName());
temporaryList.add(file);
}
//сортируем список названий файлов
Arrays.sort(strs.toArray());
listFile = new ArrayList<>();
for(int i = 0; i<strs.toArray().length; i++){
for(File file:temporaryList){
if(file.getName().equals(strs.get(i))){
listFile.add(file);
break;
}
}
}
}
private File renameFile(String path){
File file = new File(path);
File newFile = new File(file.getParent() + "\\allFilesContent.txt");
if(FileUtils.isExist(file)){
FileUtils.renameFile(file, newFile);
}else{
System.out.println("Файла для переименования не сущевствует.");
}
return newFile;
}
private void allWriteFile(File destination){
try(FileWriter fileWriter = new FileWriter(destination)) {
for(File file: listLessThen50) {
try(FileReader fileReader = new FileReader( file)){
while(fileReader.ready()){
char[] buffer = new char[1000];
int count = fileReader.read(buffer);
fileWriter.write(buffer, 0, count);
}
fileWriter.write('\n');
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String path = args[0];
String resultFileAbsolutePath = args[1];
System.out.println(resultFileAbsolutePath);
Solution s = new Solution();
File newFile = s.renameFile(resultFileAbsolutePath);
System.out.println(newFile.getPath());
s.recursFind(path);
s.sorted(s.listLessThen50);
s.allWriteFile(newFile);
}
}