Codigo pra ler varios arquivos txt e gravar as informações em apenas um txt

04/10/2019

12

Boa tarde, nesse código tem que respeitar as linhas e verificar para não copiar linha igual



package Ler;

import java.io.BufferedReader;  
import java.io.File;  
import java.io.FileNotFoundException;  
import java.io.FileOutputStream;  
import java.io.FileReader;  
import java.io.IOException;  
  
public class Teste7 {  
    public static void main(String[] args) {       
//    	System.out.println(File);
        File diretorio = new File("C:\\Arq");

        File arquivo = null;       
        File[] arquivos = null;       
        FileReader fr = null;       
        BufferedReader br = null;       
               
        String linha = "";       
        File arquivoDestino = new File("C:\\Arq\\new 1.txt");       
        FileOutputStream fos = null;       
        try {       
           if (diretorio.isDirectory()) {       
                arquivos = diretorio.listFiles(); 
                fos = new FileOutputStream(arquivoDestino);
                for (int i = 0; i < arquivos.length; i++) {       
                    arquivo = arquivos[i];    
                      
                     fr = new FileReader(arquivo);       
                     br = new BufferedReader(fr);     
                     fos = new FileOutputStream(arquivoDestino);       
                     while ((linha = br.readLine()) != null) {       
                        fos.write(linha.getBytes());       
                    }  
                     fos.write("\n".getBytes()); 
               }       
            }       
               
            fos.flush();       
            fos.close();       
        } catch (FileNotFoundException fnex) {       
            fnex.printStackTrace();       
        } catch (IOException ioex) {       
            ioex.printStackTrace();       
        }     
    }  
  
} 



Responder

Posts

04/10/2019

Belmires

Boa tarde, nesse código tem que respeitar as linhas e verificar para não copiar linha igual



package Ler;

import java.io.BufferedReader;  
import java.io.File;  
import java.io.FileNotFoundException;  
import java.io.FileOutputStream;  
import java.io.FileReader;  
import java.io.IOException;  
  
public class Teste7 {  
    public static void main(String[] args) {       
//    	System.out.println(File);
        File diretorio = new File("C:\\\\Arq");

        File arquivo = null;       
        File[] arquivos = null;       
        FileReader fr = null;       
        BufferedReader br = null;       
               
        String linha = "";       
        File arquivoDestino = new File("C:\\\\Arq\\\\new 1.txt");       
        FileOutputStream fos = null;       
        try {       
           if (diretorio.isDirectory()) {       
                arquivos = diretorio.listFiles(); 
                fos = new FileOutputStream(arquivoDestino);
                for (int i = 0; i < arquivos.length; i++) {       
                    arquivo = arquivos[i];    
                      
                     fr = new FileReader(arquivo);       
                     br = new BufferedReader(fr);     
                     fos = new FileOutputStream(arquivoDestino);       
                     while ((linha = br.readLine()) != null) {       
                        fos.write(linha.getBytes());       
                    }  
                     fos.write("\\n".getBytes()); 
               }       
            }       
               
            fos.flush();       
            fos.close();       
        } catch (FileNotFoundException fnex) {       
            fnex.printStackTrace();       
        } catch (IOException ioex) {       
            ioex.printStackTrace();       
        }     
    }  
  
} 





Ele não esta respeitando a linha dos arquivos q estão sendo copiados, e esta copiando só o ultimo arquivo da pasta, se alguém poder ajudar agradeco desde ja.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar