Tamanho de arquivo

4 respostas
A

Bom dia pessoal. Preciso ler um arquivo de quse 9mil linhas e enviar algumas informações dele para outro arquivo. O meu programa consegue ler o arquivo todo, pq eu consigo ver todas as linhas na tela de saída, só que no arquivo de saída não estão indo todas as infromações. Ele chega em um limite e para de gravar, não sei se isto é no Buffer ou no write. Alguem poderia me dar informações com algum exemplo? Já verifiquei na API e em tutoriais, mas não sei quais os valores que devo colocar ao certo. Preciso de um exemplo mais explicativo.

public BufferedWriter(Writer out,
int sz)Create a new buffered character-output stream that uses an output buffer of the given size.

Parameters:
out - A Writer
sz - Output-buffer size, a positive integer


public BufferedReader(Reader in,
int sz)Create a buffering character-input stream that uses an input buffer of the specified size.

Parameters:
in - A Reader
sz - Input-buffer size

4 Respostas

D

alguma mensagem de erro ou simplesmente as “coisas” somem?

A

Não ocorrem erros. Simplesmente chega um ponto que as informações não vão mais para o outro arquivo, mas aparecem na tela.

D

posta seu código ae… eu jah fiz um programa q ler um database e transforma as tabelas em arquivos textos… o unico problema q enfrentei foi erros de OutOfMemory quando a tabela continha mtos registros…

A

Saudações
O método principal esta abaixo do “=====”

public void NovoArquivin(String arqin){
        arquivin = new File(diretorio,arqin);
    }    
    public void PreparaArquivin(int size)throws IOException{
        read = new FileReader(arquivin);
        bufin = new BufferedReader(read);        
    }    
    public void FechaArquivin()throws IOException{        
        read.close();
        bufin.close();        
    }    
    public void NovoArquivout(String arqout)throws IOException{        
        arquivout = new File(diretorio,arqout);
        arquivout.createNewFile();
        System.out.println("Arquivo de saída: "+arqout+"");                
    }    
    public void PreparaArquivout(int size)throws IOException{        
        abreout = new FileWriter(arquivout);
        bufout = new BufferedWriter(abreout,1024);        
    }    
    public void FechaArquivout()throws IOException{        
        abreout.close();
        bufout.close();
        bufout.flush();        
    }

======

public void TrataRelUsuariosPoint(){
        try{
            GregorianCalendar calendario = new GregorianCalendar();
            String nomearqout = "usuarios_Point"+String.valueOf(calendario.get(Calendar.DATE))+String.valueOf(calendario.get(Calendar.MONTH))+String.valueOf(calendario.get(Calendar.YEAR))+"_"+String.valueOf(calendario.get(Calendar.HOUR_OF_DAY))+String.valueOf(calendario.get(Calendar.MINUTE))+String.valueOf(calendario.get(Calendar.SECOND))+".txt";
            String info1 = "Username";
            String info2 = "Account";
            int size = 2000;
            String aux;
            NovoDiretorio("W:\\it\\ISCD\\usuários IFB");            
            TestaDiretorio();            
            NovoArquivin("usuarios_Point.txt");            
            TestaArquivin();
            NovoArquivout(nomearqout);
            PreparaArquivin(size);
            PreparaArquivout(size);
            bufout.write("===Usuários Point===");
            bufout.newLine();
            aux=bufin.readLine();
            long cont = 0;
            while(bufin.ready()==true){                
                if(aux.startsWith(info1,0) || aux.startsWith(info2,0)){
                    bufout.write(aux);
                    System.out.println(aux);
                    bufout.newLine();
                    cont++;
                }
                aux=bufin.readLine();
            }
            bufout.write("");
            bufout.newLine();
            System.out.println("Total de usuários listados: "+cont);
            FechaArquivin();
            FechaArquivout();
        }catch (IOException e){
        System.out.println(e.getMessage());}
    }

[size=“12”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos[/color][/size]

Criado 22 de junho de 2005
Ultima resposta 27 de jun. de 2005
Respostas 4
Participantes 2