package com.codegym.task.task31.task3101;
/*
Iterating through a file tree
*/
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
/***
* Listar todos los ficheros de un directorio y de sus subdirectorios
*/
public class Solution {
public Map<String, File> fileList = new TreeMap<>();
public static void main(String[] args) throws Exception{
Solution solution = new Solution();
String path = args[0]; // ruta al directorio
File directorio = new File(path);
solution.listAllFilesAndDirs(directorio);
File resultFile = new File(args[1]);
File dest = new File(resultFile.getParentFile() + "/allFilesContent.txt");
if (FileUtils.isExist(dest)) {
FileUtils.deleteFile(dest);
}
FileUtils.renameFile(resultFile, dest);
BufferedWriter bufferedOutput = new BufferedWriter(new FileWriter(dest));
List<File> listaFiles = new ArrayList<>();
solution.fileList.forEach((k,v)-> listaFiles.add(new File((v.toString() + "/" + k.toString()))));
for (File e : listaFiles){
BufferedReader bufferedReader = new BufferedReader(new FileReader(e));
while (bufferedReader.ready()){
String line = bufferedReader.readLine();
bufferedOutput.write(line);
}
bufferedOutput.write("\n");
}
bufferedOutput.close();
}
public void listAllFilesAndDirs(File directorio) {
for (File e : directorio.listFiles()){
if (e.isDirectory()){
listAllFilesAndDirs(e);
}else{
if (e.length() <= 50) {
if (e.getAbsolutePath().contains("allFilesContent.txt")) continue;
File file = new File(e.getAbsolutePath());
fileList.put(e.getName(), new File(file.getParent()));
}
}
}
}
}
package com.codegym.task.task31.task3101;
/*
Iterating through a file tree
*/
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
/***
* Listar todos los ficheros de un directorio y de sus subdirectorios
*/
public class Solution {
public Map<String, File> fileList = new TreeMap<>();
public static void main(String[] args) throws Exception{
Solution solution = new Solution();
String path = args[0]; // ruta al directorio
File directorio = new File(path);
solution.listAllFilesAndDirs(directorio);
File resultFile = new File(args[1]);
File dest = new File(resultFile.getParentFile() + "/allFilesContent.txt");
if (FileUtils.isExist(dest)) {
FileUtils.deleteFile(dest);
}
FileUtils.renameFile(resultFile, dest);
File desGod = new File(dest.getAbsolutePath());
FileUtils.deleteFile(dest);
BufferedWriter bufferedOutput = new BufferedWriter(new FileWriter(desGod));
List<File> listaFiles = new ArrayList<>();
solution.fileList.forEach((k,v)-> listaFiles.add(new File((v.toString() + "/" + k.toString()))));
for (File e : listaFiles){
BufferedReader bufferedReader = new BufferedReader(new FileReader(e));
while (bufferedReader.ready()){
String line = bufferedReader.readLine();
bufferedOutput.write(line);
}
bufferedOutput.write("\n");
}
bufferedOutput.close();
}
public void listAllFilesAndDirs(File directorio) {
for (File e : directorio.listFiles()){
if (e.isDirectory()){
listAllFilesAndDirs(e);
}else{
if (e.length() <= 50) {
if (e.getAbsolutePath().contains("allFilesContent.txt")) continue;
File file = new File(e.getAbsolutePath());
fileList.put(e.getName(), new File(file.getParent()));
}
}
}
}
}