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.
alguma mensagem de erro ou simplesmente as “coisas” somem?
A
acrochaPJ
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
diegodrumondPJ
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
acrochaPJ
Saudações
O método principal esta abaixo do “=====”
publicvoidNovoArquivin(Stringarqin){arquivin=newFile(diretorio,arqin);}publicvoidPreparaArquivin(intsize)throwsIOException{read=newFileReader(arquivin);bufin=newBufferedReader(read);}publicvoidFechaArquivin()throwsIOException{read.close();bufin.close();}publicvoidNovoArquivout(Stringarqout)throwsIOException{arquivout=newFile(diretorio,arqout);arquivout.createNewFile();System.out.println("Arquivo de saída: "+arqout+"");}publicvoidPreparaArquivout(intsize)throwsIOException{abreout=newFileWriter(arquivout);bufout=newBufferedWriter(abreout,1024);}publicvoidFechaArquivout()throwsIOException{abreout.close();bufout.close();bufout.flush();}
======
publicvoidTrataRelUsuariosPoint(){try{GregorianCalendarcalendario=newGregorianCalendar();Stringnomearqout="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";Stringinfo1="Username";Stringinfo2="Account";intsize=2000;Stringaux;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();longcont=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(IOExceptione){System.out.println(e.getMessage());}}
[size=“12”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos[/color][/size]