Gostaria de implementar uma nova função que considero importante, útil para esse programa que ler vários arquivos TXT e faz a cópia das informações para um arquivo único saltando linha
Leia em Código que cópia as informações de vários arquivos TXT para um so arquivo em java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class Teste6 {
public static void main(String[] args) {
try {
Teste6 programa = new Teste6();
programa.executar();
} catch (Throwable t) {
t.printStackTrace();
}
private List<String> linhasCopiadas;
private void executar() throws IOException {
String Diretorio = “://”; // C://, D://, F::// ... n diretorios
try {
Diretorio urlDiretorio = new Diretorio (diretorio );
InputStreamReader stream = new InputStreamReader(urlDiretorio, File Diretorio = new File("Diretorio "); ); // adicionar pasta com o nome Arq
}
File arquivoDestino = new File("Diretorio", new.txt);
PrintWriter destino = new PrintWriter(arquivoDestino);
linhasCopiadas = new ArrayList<>();
for (File arquivo : diretorio.listFiles()) {
BufferedReader origem = new BufferedReader(new FileReader(arquivo));
copiar(origem, destino);
destino.println();
origem.close();
}
destino.flush();
destino.close();
}
private void copiar(BufferedReader origem, PrintWriter destino) throws IOException {
String linha = null;
while ((linha = origem.readLine()) != null) {
if (!linhasCopiadas.contains(linha)) { // se a linha ainda não foi copiada pro arquivo de destino
destino.println(linha); // copia a linha no arquivo de destino
linhasCopiadas.add(linha); // joga a linha na lista de linhas copiadas
}
}
destino.println(); // pular linha no arquivo de destino
}
}
Programa considere a String Diretorio = “://”; para vários diretórios e inclua sempre um novo arquivo também pelo código
String Diretorio = “://”; // C://, D://, F::// ... n diretorios
try {
Diretorio urlDiretorio = new Diretorio (diretorio );
InputStreamReader stream = new InputStreamReader(urlDiretorio, File Diretorio = new File("Diretorio "); ); // adicionar pasta com o nome Arq
}
File arquivoDestino = new File("Diretorio", new.txt);
É possível?