Hi
i don't understand the problem...
package com.codegym.task.task31.task3101;
/*
Iterating through a file tree
*/
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws IOException {
final byte SIZE_MAX = 50;
//String separator = "/";
//String newFile = "allFilesContent.txt";
List<File> directories = new ArrayList<>();
List<File> files = new ArrayList<>();
String path = args[0];
String resultFileAbsolutePath = args[1];
File directory = new File(path);
File beforeRename = new File(resultFileAbsolutePath);
directories.add(directory);
do {
File[] listeFiles = directories.get(0).listFiles(); //Création d'un tableau contenant les différents éléments du dossier transmis //Parcours des différents éléments du dossier
//Parcours des différents éléments du dossier
for (File file : listeFiles) {
if (file.getName().equals(beforeRename.getName())) continue;
if (file.isDirectory()) {
directories.add(file);
}
else {
if (file.length() <= SIZE_MAX) files.add(file);
}
}
directories.remove(0);
} while (!directories.isEmpty());
//Tri des noms de fichiers par ordre alphabétique
for (int i = 0; i < files.size(); i++) {
for (int j = 0; j < files.size() - 1; j++) {
File f1 = files.get(j);
File f2 = files.get(j+1);
String s1 = f1.getName();
String s2 = f2.getName();
if (s1.compareToIgnoreCase(s2) > 0) {
files.set(j,f2);
files.set(j+1, f1);
}
}
}
//changement du fichier de destination
File dest = new File(beforeRename.getParent()+"/allFilesContent.txt");
if (FileUtils.isExist(dest)) {
FileUtils.deleteFile(dest);
}
FileUtils.renameFile(beforeRename, dest);
BufferedWriter bw = new BufferedWriter(new FileWriter(dest));
for (File file : files) {
BufferedReader br = new BufferedReader(new FileReader(file));
while (br.ready()) {
String s = br.readLine();
bw.write(s + "\n");
}
br.close();
bw.flush();
}
bw.close();
}
}