Mas percebi q qdo rodo e digito uma string o programa grava ok mas se rodo de novo e digito outra string ele apaga a original e grava a atual.
Como teria de ser para gravar a entrada atual do teclado mas manter os dados originais ?
ai yhhik se estiver por ai pode me dar um exemplo dessa tua linha de comando dentro do codigo q eu implementei no primeiro post aqui?
Alguém mais ai pode ajudar tb galera?
valeu
R
rafaelczy
pessoal esse codigo abaixo adiciona string ao file saida.txt sem apagar as anteriores. esse código diz a apostila foi criado pra uso até o java 4
importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.OutputStream;importjava.io.OutputStreamWriter;publicclassTestaOutputStream{publicstaticvoidmain(String[]args)throwsIOException{// TODO Auto-generated method stubOutputStreamos=newFileOutputStream("saida.txt",true);//indica o arquivo p/ gravação de dados , le bytes e escreve bytes no inicio do arquivo devido ao "true"OutputStreamWriterosw=newOutputStreamWriter(os);// lê os bytes decodifica para unicode e grava em charBufferedWriterbw=newBufferedWriter(osw);// lê os char, concatena e a monta a string p gravaçãobw.write("Terceira inserção");// Grava no arquivo "Terceira inserção"bw.newLine();// Passa o cursor para proxima linhabw.close();InputStreamis=newFileInputStream("saida.txt");//indica o arquivo p/ leitura (saida.txt) - lê bytesInputStreamReaderisr=newInputStreamReader(is);//lê bytes, decodifica para Unicode e devolve em charBufferedReaderbr=newBufferedReader(isr);// lê char, concatena e devolve em stringStringc=br.readLine();while(c!=null){System.out.println(c);c=br.readLine();}br.close();}}
mas a j11 diz depois que tem uma maneira mais simples que essa, e que é suportada pelo java 5 em diante
mais ou menos assim:
ai Mario
antes de mais nada obrigado pela ajuda
bom, considerando o codigo que vc me passou, que grava no file uma string q entrou via teclado, agora que implementar pra ler o file,
minha pergunta é: Usei Scanner(System.in) pra receber do teclado e o que uso pra ler o file ?
tanks man
R
rafaelczy
yhhik:
tava formatando meu pc…
cara tem tempo que nao uso isso…acho que é algo assim:
Scanner s = new Scanner(System.in);
String txt=s.next();
BufferedWriter bufferr = new BufferedWriter(new FileWriter("teste.txt", true));
bufferr.write(txt);
bufferr.close();
sem quer ser chata irmao, esse codigo acima ficou bem silmples e legivel, o que a documentação diz em contrario que fez vc colocar o outro codigo abaixo?
Apesar da documentação dizer algo em contrario, o codigo abaixo seu mario tb cumpriu a missao direitinho pois salvou a string no file sem alterar o conteudo anterior
a bateria do note ta otima mas a do meu brain creio q so dura mmais 15 min
to analizando o teu outro codigo agora pra ver como faço um pra ler ao inves de gravar no file
diz a apostila j11 que o java 5 em diante tem um jeito mais simples de ler do que o codigo abaixo:
InputStreamis=newFileInputStream("teste.txt");//indica o arquivo p/ leitura (teste.txt) - lê bytesInputStreamReaderisr=newInputStreamReader(is);//lê bytes, decodifica para Unicode e devolve em charBufferedReaderbr=newBufferedReader(isr);// lê char, concatena e devolve em stringStringc=br.readLine();while(c!=null){System.out.println(c);c=br.readLine();}br.close();
R
rafaelczy
nao durou nem 15 min
vou dormir
amnha eu continuo
valeu a ajuda ai
ufsss
sem quer ser chata irmao, esse codigo acima ficou bem silmples e legivel, o que a documentação diz em contrario que fez vc colocar o outro codigo abaixo?