[RESOLVIDO]Exercício: Ler do teclado e escrever em arquivo!
16 respostas
G
gilvani_lima
Gostaria que vcs olhassem esse meu código para ver pq ele cria o arquivo, mais quando eu abro ele, ele está em branco. Neste arquivo, deveria ter escrito nele oq eu escrevi no teclado. Assim pede o exercício!
O enunciado está assim! " 7) (opcional) Altere novamente o programa para ele virar um pequeno editor: lê do teclado e escreve em arquivo.
Repare que a mudança a ser feita é mínima! "
Primeiramente eu agradeço sua ajuda, mais eu fechei as Streams que vc sugeriu e ficou na mesma, o arquivo é criado porém em branco. Obrigado
claudneto
Tenta jogar tudo dentro do primeiro while.
Não sei se estou enganado, mas parece que no primeiro while vc pega o valor, imprime na tela e perde ele.
Tenta jogar o conteúdo do segundo while, dentro do primeiro while. E as instanciações, antes do primeiro while tbm.
G
gilvani_lima
claudneto:
Tenta jogar tudo dentro do primeiro while.
Não sei se estou enganado, mas parece que no primeiro while vc pega o valor, imprime na tela e perde ele.
Tenta jogar o conteúdo do segundo while, dentro do primeiro while. E as instanciações, antes do primeiro while tbm.
É impressionante, não da certo! Acho que algum problema com meu Eclipse. Se não for pedir demais, poderia pegar esse código e roda-lo ai para ver oq tah pegando? abraços
claudneto
É pedir demais sim (hahaha), mas não rodou aqui tbm com o NetBeans!
G
gilvani_lima
Valeu amigo, mais só pedi pq meu Eclipse alguns dias atras estava com um comportamento estranho, então passei a usar NetBens e rodava tudo beleza, removi o Eclipse e instalei novamente e ficou beleza, então estava achando que o problema havia voltado. Mais valeu, obrigado pela ajuda. Vou tentando aqui!!!
kenneth
Fala brow,
Segunda tentativa…
Talvez nao seria pq vc consome todas as suas entradas no 1o while, dando System.out?
Nao tenho muita intimidade com o nextLine e o hasNextLine(), mas se nao me engano,
o segundo retorna true enquanto houver algo a ser lido, e o primeiro le, e “consome” a proxima linha.
Em resumo, acho que o que acontece eh que vc le toda a entrada, da System.out.println, e quando
chega na hora de escrever no arquivo, nao ha mais o que se escrever.
Talvez nao seria pq vc consome todas as suas entradas no 1o while, dando System.out?
Nao tenho muita intimidade com o nextLine e o hasNextLine(), mas se nao me engano,
o segundo retorna true enquanto houver algo a ser lido, e o primeiro le, e “consome” a proxima linha.
Em resumo, acho que o que acontece eh que vc le toda a entrada, da System.out.println, e quando
chega na hora de escrever no arquivo, nao ha mais o que se escrever.
Não deu! Acho que vc até tem razão…mais todas as alterações que eu faço simplesmente não da certo. Cheguei até achar que o problema era o Eclipse. Valeu pela paciência!!! Mais o negocio tah osso rs
kenneth
Certo, mas junto com o “tem conteudo” foi escrito o que? true ou false?
G
gilvani_lima
Fica saindo true sem parar até eu interromper o processo…com ou sem “Tem conteúdo:”
Detalhe: dessa forma ele não cria o arquivo.txt
ViniGodoy
Antes de fazer o close, chame bw.flush();
G
gilvani_lima
Agradeço a ajuda Vini, mais não vingou! chamei o bw.flush() antes do bw.close() e nada mudou. Para que serve esse método flush()? Obrigado
claudneto
Mesmo com o bw.flush() não foi.
Tenta jogar o entrada.nextLine() em uma variável String e usar essa mesma variável em tudo.
Agora sim..vingo de boa. Valeu pela ajuda e pela paciência Claudneto e todos os outros que dispuseram seus valiosos tempos para me ajudar! Valeu mesmo Abraços