package com.javarush.task.task31.task3101;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws Exception{
ArrayList<File> listFile = new ArrayList<>();
File path = new File(args[0]);
File resultFileAbsolutePath = new File(args[1]);
processFilesFromFolder(path,listFile);
File allFilesContent = new File(resultFileAbsolutePath.getParent()+"/allFilesContent.txt");
FileUtils.renameFile(resultFileAbsolutePath, allFilesContent);
FileOutputStream fileOutputStream = new FileOutputStream(allFilesContent);
Collections.sort(listFile);
for (File file: listFile) {
FileInputStream fileInputStream = new FileInputStream(file);
while (fileInputStream.available() > 0) {
fileOutputStream.write(fileInputStream.read());
}
fileOutputStream.write(System.lineSeparator().getBytes());
fileOutputStream.flush();
fileInputStream.close();
}
fileOutputStream.close();
}
public static void processFilesFromFolder(File folder,ArrayList<File> list) {
File[] folderEntries = folder.listFiles();
for (File entry : folderEntries)
{
if (entry.isDirectory())
{
processFilesFromFolder(entry,list);
continue;
}
if (entry.length() < 51)
list.add(entry);
}
}
}
package com.javarush.task.task31.task3101;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws Exception{
ArrayList<File> listFile = new ArrayList<>();
File path = new File(args[0]);
File resultFileAbsolutePath = new File(args[1]);
processFilesFromFolder(path,listFile);
File allFilesContent = new File(resultFileAbsolutePath.getParent()+"/allFilesContent.txt");
FileUtils.renameFile(resultFileAbsolutePath, allFilesContent);
FileOutputStream fileOutputStream = new FileOutputStream(allFilesContent);
Collections.sort(listFile);
for (File file: listFile) {
FileInputStream fileInputStream = new FileInputStream(file);
while (fileInputStream.available() > 0) {
fileOutputStream.write(fileInputStream.read());
}
fileOutputStream.write(System.lineSeparator().getBytes());
fileOutputStream.flush();
fileInputStream.close();
}
fileOutputStream.close();
}
public static void processFilesFromFolder(File folder,ArrayList<File> list) {
File[] folderEntries = folder.listFiles();
for (File entry : folderEntries)
{
if (entry.isDirectory())
{
processFilesFromFolder(entry,list);
continue;
}
if (entry.length() < 51)
list.add(entry);
}
}
}