3ий пункт
package com.javarush.task.task31.task3101;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException{
ArrayList<File> filelist;
File path = new File(args[0]);
File resultFileAbsolutePath = new File(args[1]);
File allFilecontent = new File(resultFileAbsolutePath.getParent() + "/allFilesContent.txt");
FileUtils.renameFile(resultFileAbsolutePath, allFilecontent);
try(FileOutputStream fileOutputStream = new FileOutputStream(allFilecontent)){
filelist = fillFileList(path.getPath());
for (File file : filelist) {
FileInputStream fileInputStream = new FileInputStream(file);
int i;
while ((i = fileInputStream.read()) != -1) {
fileOutputStream.write(i);
}
fileOutputStream.write(System.lineSeparator().getBytes());
fileOutputStream.flush();
fileInputStream.close();
}
}
}
public static ArrayList<File> fillFileList(String path){
ArrayList<File> filelist = new ArrayList<>();
ArrayList<String> fileNameList = new ArrayList<>();
File folder = new File(path);
for (File file: folder.listFiles()) {
if(file.isDirectory()){
ArrayList<File> fileLists;
fileLists = fillFileList(file.getPath());
for (File file1 : fileLists) {
fileNameList.add(file1.getName());
}
}
else{
if(file.length() <= 50){
fileNameList.add(file.getName());
}
}
}
Collections.sort(fileNameList);
for (String path1 : fileNameList) {
File file1 = new File(path1);
filelist.add(file1);
}
return filelist;
}
}