isso , dois ou mais arquivos ou apenas 1 mesmo . Aqui eu testei e não conseguir obter todo o conteúdo
Bom mano, consegui, desculpa a demora, estava testando essa API que vc utiliza, e ela é realmente boa, eu tinha feito de duas formas, uma da forma que eu conhecia, mas ficou meio que grande o código, e a outra eu olhei a API e ficou bem pequeno o código e fácil leitura, gostei dessa API:
public static void main(String[] args){
//arquivos que vamos ler
Path arquivo1 = Paths.get("arquivo1.txt");
Path arquivo2 = Paths.get("arquivo2.txt");
//arquivo que vamos gravar
Path arquivo_final = Paths.get("arquivo_pronto.txt");
//faço a leitura dos arquivo separadamente
List<String> dados_do_arquivo1 = Files.readAllLines(arquivo1);
List<String> dados_do_arquivo2 = Files.readAllLines(arquivo2);
/*Aqui é onde eu junto os dados dois arquivos, em outras palavras
eu to pegandos os dados do SEGUNDO arquivo e ADICIONANDO no PRIMEIRO
arquivo.
*/
dados_do_arquivo1.addAll(dados_do_arquivo2);
/*após isso, eu passo os dados do arquivo 1 que já está junto com os dados
do arquivo 2 e mando escrever e pronto.
*/
Files.write(arquivo_final, dados_do_arquivo1, StandardOpenOption.WRITE);
}
Esses dois arquivo cada um tinha 11 MB cada, após testar o arquivo final ficou 23 MB deve ser para a forma que ele escreve os caracteres, mas em outras palavras funciona
Testei aqui mano realmente funciona ! Sair certinho , mas no caso como eu faria se a leitura fosse usando um processo externo ? Por que eu estava usando o cmd justamente com esse proposito . Já que o cmd é capaz de ler múltiplos arquivos.
Bom mano, ai no caso vc teria q montar uma lógica legal para trabalhar com esses multiplos arquivos, eu vi q essa API tem uns método que retorna o que tem na pasta, eu testei o seguinte:
Stream<Path> list = Files.list(Paths.get(""));
list.filter(path -> path.toFile().isFile()).forEach(encontrados -> System.out.println(encontrados));
Bom, peguei a lista de tudo que tem na pasta do projeto inclusive pastas, fiz um filtro(filter) para encontrar somente arquivos dentro dessa lista e após isso fiz um forEach para mostrar os arquivos encontrados.
Vc pode dar uma olhada em Colletors, ai o código sabendo os nomes dos arquivos e ai é faz um laço para ler esses arquivos.
Ex esse colletors me retorna os dados, que no caso é os nomes dos arquivos em uma List
Stream<Path> list = Files.list(Paths.get(""));
List<Path> encontrados = list.filter(path -> path.toFile().isFile()).collect(Collectors.toList());
encontrados.forEach(nome_dos_arquivos -> {
System.out.println(nome_dos_arquivos);
});
eu vou dá uma olhada