alguem poderia me flar o problema neste codigo ( a proposta seria criar arquivo d texto, abrir ele apresentando a mensagem que foi digitada pelo usuario e fechar ele), ja tentei d tudo e negocio nao compila
importjava.io.*;importjava.util.Scanner;publicclassMain{/** * @param args the command line arguments */publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);Stringfrase;try{System.out.printf("Digite uma frase:");frase=input.next();Filearq=newFile("c:\\","arquivo.txt");BufferedWriterbf=newBufferedWriter(newFileWriter(arq));bf.write(frase);bf.flush();bf.close();}catch(Exceptione){e.printStackTrace();}}}
Aqui no meu PC funcionou.
Verifica as permissões do seu Windows. Se for windows 7 ou Vista, vc tem que abrir o Netbeans/Eclipse como Administrador ou mandar criar o arquivo em outro diretório (Ex.: D:, Meus Documentos, Desktop, etc )
E
elton.souza
No meu tbm não funcionou, mas executei o eclipse como Administrador e funcionou. Então é só permissão mesmo.
E
estudante000001
eliangela
primeiramente obrigado pela resposta.
como faço pra abrir o netbeans como administrador ?
nao deu problema pra vc na instruçao e.printStackTrace(); que esta no catch?
D
devvdevv.interior
.
E
estudante000001
.
E
estudante000001
tentei executar como administrador e continuou nao funcionando =[ …
tentei salvar em (“D:Desktop”,“aquivo.txt”); e tb nao funcionou…
o windows aki e Vista , pq sera q funciona pra vc e nao aki?
E
eliangela
Não deu erro não. Salvou direitinho no C: o arquivo.txt.
estudante000001:
tentei executar como administrador e continuou nao funcionando =[ …
tentei salvar em (“D:Desktop”,“aquivo.txt”); e tb nao funcionou…
o windows aki e Vista , pq sera q funciona pra vc e nao aki?
Esse diretório D:Desktop existe??? quando eu disse Desktop, eu disse pra vc colocar o caminho da área de trabalho ae.
Para iniciar o Netbeans como administrador, vc clica com o botão direito sobre o ícone e clica em Executar como administrador
E
estudante000001
AEEEE consegui gerar o arquivo de texto com a frase… mto obrigado… mas ele ainda nao esta abrindo automaticamente… somente qdo eu clico nele no desktop… tem alguma sugestao de comando?.. nao seria o bf.flush responsavel por abrilo e o bf.close responsavel por fechalo no meu codigo???
E
eliangela
Quando vc instancia a classe BufferedWriter, ela faz o seguinte: cria o arquivo se não existir e abre esse arquivo para escrita.
ao usar o método write() da classe BufferedWriter, ele escreve no arquivo, mas essa escrita fica no “buffer”, não vai diretamente pra dentro do arquivo.
Quando vc usa o flush, vc está realmente colocando o conteúdo do “buffer” dentro do arquivo sem fechá-lo.
O método close() fecha o arquivo.
E
estudante000001
ummmmm vlw intendi… agora so falta uma coisa preu finaliza o programa… qdo eu fexo o netbeans , o arquivo de texto continua na area de trabalho… se dpois q eu abrir o netbeans novamente e kizer imprimir o que foi salvo dentro do arquivo qual o comando q faz isso? segue o codigo de como esta ate agora ( falta o case 2 );
publicstaticvoidmain(String[]args)throwsIOException{Stringfrase;intx;Scannere=newScanner(System.in);do{System.out.printf("\n1-Criar Arquivo de Texto e Gravar frase nele.");System.out.printf("\n2-Consultar o que foi escrito no Arquivo de Texto");System.out.printf("\n3-Sair\n");System.out.printf("\nDigite a opção desejada:");x=e.nextInt();switch(x){case1:{System.out.printf("Digite algo para ser gravado no arquivo de texto:");frase=e.next();Filearq=newFile("C:\\","arquivo.txt");BufferedWriterbw=newBufferedWriter(newFileWriter(arq));bw.write(frase);bw.flush();bw.close();break;}case2:{//falta completar esse case akibreak;}case3:break;}}while(x!=3);}}
E
estudante000001
ummmmmmm discubri o comando e readline();
E
eliangela
Olá!
A classe BufferedWriter somente escreve em arquivos. Dê uma olhada na classe BufferedReader e no método readline().
A classe BufferedReader funciona quase igual a Writer. Não tem segredo não.