Criaçao arquivo TxT[Resolvido]

11 respostas
E

Galera eu tinha postado em um outro topico sobre arquivos de texto mas parece que ele foi deletado, apos a ajuda de alguns fiz o programa abaixo so que ao compilar esta dando erro no main , a proposta seria : criar um arquivo de texto , mostrar uma frase digitada pelo usuario e fechar o arquivo de texto. Espero que alguem possa me ajudar a detectar esse erro, obrigado.

11 Respostas

FabricioPJ

Pelo que percebi, você não chega a criar o arquivo. Para isso:

String texto = "Sua frase aqui"; File arq = new File(caminho, nomeArquivo); BufferedWriter bf = new BufferedWriter(new FileWriter(arq)); bw.write(texto); bw.flush(); bw.close();

OBS: Não testei o código…

E

pronto o codigo ficou assim:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package javaapplication27;

/**
 *
 * @author Matheus
 */ 
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;

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

    }

Qual o erro??? apartir da linha 30 esta dando errado flando pra adicionar io.Exception… nao intendi isso , o arquivo txt continua nao sendo gerado.

E

da uma força ai galera

Vingdel

estudante000001, boa tarde!

O contrutor de FileWriter que você está chamando na linha 30 lança uma IOException e você precisa tratá-la. Essa Exception pode ser lançada por vários motivos, como o arquivo existir, mas não poder ser aberto ou não existir e não poder ser criado ou até mesmo se o caminho que foi passado ao File não caracterizar um arquivo.

Então para tratar uma Exception você precisa usar TRY/CATCH, no teu caso você deve substituir a linha 30 por isso:

try{ BufferedWriter bf = new BufferedWriter(new FileWriter(arq)); }catch(IOException ioe){ System.outi.println(e.getMessage()); // Aqui você define o que fazer caso um IOException for lançada // Nesse caso estão imprimindo a mensagem de erro. }

Faça isso e veja se resolve teu problema.

[]'s

C
acho que faltou jogar um throw IOException ali tenta ae
import java.io.*;  
import java.util.Scanner;  
  
public class Main {  
  
    /** 
     * @param args the command line arguments 
     */  
     
    public static void main(String[] args) throws IOException {  
  
    Scanner input = new Scanner(System.in);  
    String frase;  
  
    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();  
  
    }  
}
E

continua dando problema esse TRY/CATCH na linha 30 nao resolveu

Vingdel

Opa, desculpa!

Você tem que tratar assim:

try{ BufferedWriter bf = new BufferedWriter(new FileWriter(arq)); bf.write(frase); bf.flush(); bf.close(); }catch(IOException e){ System.outi.println(e.getMessage()); }

Mas o que o amigo caematos falou também funciona, porém você não tratará a Exception da maneira quiser, por exemplo pedindo para o usuário usar outro nome de arquivo.

No caso que ele indicou, você passa a Exception para a classe FileWriter tratar.

Ab

E

Vingdel
obrigado pela ajuda ai.

O codigo continua n funcionando pra mim mas parece que eh uma questao de permissao, pq pra outros ele funciona normalmente, me aconselharam a abrir o netbeans como administrador como faço isso?

luyz

estudante000001:
Vingdel
obrigado pela ajuda ai.

O codigo continua n funcionando pra mim mas parece que eh uma questao de permissao, pq pra outros ele funciona normalmente, me aconselharam a abrir o netbeans como administrador como faço isso?

Se for no windows 7 clica com o batao direito no icone do netbeans e vai em “execurtar como administrador”
se for no windows xp vai em “executar como…” ae escolhe administrador…

espero que seja isso

Vingdel

Meu caro, com o código que te passei, usando o TRY/CATCH, se tiver algum problema com o arquivo, você vai receber a segunte mensagem:

C:\Users\Delano\Desktop>java Main
Digite uma frase:www
C:\Users\Delano\Desktop\Arquivo.txt (Acesso negado)

Aí, sim, é problema de permissão. Para eu receber esse erro propositalmente setei o arquivo “Arquivo.txt” para “Somente Leitura”.

Mas acho que na unidade C:, que é o caminho que você setou para o arquivo, não deveria ter restrição para criação de arquivo. De qualquer forma veja aí.

Usando o método de passar a responsabilidade da excessão para outro (throws), a mensagem é a seguinte:

<blockquote>C:\Users\Delano\Desktop>java Main

Digite uma frase:ddd

Exception in thread “main” java.io.FileNotFoundException: C:\Users\Delano\Deskto

p\Arquivo.txt (Acesso negado)

at java.io.FileOutputStream.open(Native Method)

at java.io.FileOutputStream.(Unknown Source)

at java.io.FileOutputStream.(Unknown Source)

at java.io.FileWriter.(Unknown Source)

at Main.main(Main.java:20)</blockquote>

Caso já não haja dúvida quanto ao assunto, por favor adicione [RESOLVIDO] ao assunto do tópico. Acho que você poderia melhorar o assunto também para que o tópico sirva como referência a alguém com a mesma dúvida.

Abraço e boa sorte.

C

nem vi que o Vindgel tinha postado antes ali… hehe…

deve ser problema de permissão sim… tenta mudar para a pasta Documentos

“C:\Users\SeuUser\Documents” Se for no Win 7

Criado 14 de junho de 2011
Ultima resposta 15 de jun. de 2011
Respostas 11
Participantes 5