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
import java.io.*;
import java.util.Scanner;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String frase;
try{
System.out.printf("Digite uma frase:");
frase = input.next();
File arq = new File("c:\\","arquivo.txt");
BufferedWriter bf = new BufferedWriter(new FileWriter(arq));
bf.write(frase);
bf.flush();
bf.close();
}
catch(Exception e) {e.printStackTrace();}
}
}
Olá!
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 )
No meu tbm não funcionou, mas executei o eclipse como Administrador e funcionou. Então é só permissão mesmo.
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?
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?
Não deu erro não. Salvou direitinho no C: o arquivo.txt.
[quote=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?[/quote]
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
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???
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.
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 );
public static void main(String[] args) throws IOException {
String frase;
int x;
Scanner e = new Scanner(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){
case 1:{
System.out.printf("Digite algo para ser gravado no arquivo de texto:");
frase = e.next();
File arq = new File("C:\\","arquivo.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(arq));
bw.write(frase);
bw.flush();
bw.close();
break;
}
case 2:{
//falta completar esse case aki
break;
}
case 3:
break;
}
}while(x!=3);
}
}
ummmmmmm discubri o comando e readline();
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.