Arquivo txt[RESOLVIDO]

12 respostas
E

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();}

    }

}

12 Respostas

E

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 )

E

No meu tbm não funcionou, mas executei o eclipse como Administrador e funcionou. Então é só permissão mesmo.

E

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

.

E

.

E

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

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

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

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

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);
    }

}
E

ummmmmmm discubri o comando e readline();

E

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.

Criado 15 de junho de 2011
Ultima resposta 17 de jun. de 2011
Respostas 12
Participantes 4