Try cacth no imput file stream

6 respostas
H

boa noite, galera!! tudo bem?
pessoal seguinte:
eu quero abrir um arquivo mas se esse arquivo não existir, quero abrir uma janela informando…porém, naõ to conseguindo, pq ele usa o try cacth normal, mas não estou conseguindo inserir um valor de retorno para exibir a mensagem ou não…enfim…ele sempre me dá opções mas nada que me sirva…olha o código:

public boolean testeAbrirArquivo()
{

try 
        {
        FileInputStream file1 = new FileInputStream(arquivo);
        boolean x=true;
       
        } 
    
       catch (FileNotFoundException ex) 
        {
        boolean x=false;
        
        Logger.getLogger(Txt.class.getName()).log(Level.SEVERE, null, ex);
        }
    return x;
   
 }

quero que de retorno de “x” para decidr o que faço, como resolvo isso???
obrigad a todos!!
horácio

6 Respostas

mauricioadl

simples assim:

File file = new File("seu_arquivo.txt"); if(!file.exists()){ // faça o codigo necessario }

não precisa de try catch

Ivan_Alves

Cara costumo usar assim nos meu try e catch para retornar uma mensagem em português de Exceção

private void teste() throws Exception{ try{ //códigos aqui... }catch(FileNotFoundException e1){ throw new Exception("Não foi possível encontrar o arquivo"); }catch(Exception e2){ throw new Exception("Outro erro"); } } . . . //na chamada do método retorno a mensagem retornada da Exceção try{ teste(); }catch(Exception e){ JOptionPane.showMessageDialog(null, e.getMessage(), "ERRO", JOptionPane.ERROR_MESSAGE); }

S

Ivan Alves:
Cara costumo usar assim nos meu try e catch para retornar uma mensagem em português de Exceção

private void teste() throws Exception{ try{ //códigos aqui... }catch(FileNotFoundException e1){ throw new Exception("Não foi possível encontrar o arquivo"); }catch(Exception e2){ throw new Exception("Outro erro"); } } . . . //na chamada do método retorno a mensagem retornada da Exceção try{ teste(); }catch(Exception e){ JOptionPane.showMessageDialog(null, e.getMessage(), "ERRO", JOptionPane.ERROR_MESSAGE); }

Declare o boolean x fora do try e catch, coloque ele valendo como true.

mauricioadl

não precisa tratar com try catch a verificação se o arquivo existe ou não, ja que a classe File faz isso sem lançar exceção.

ViniGodoy

Sem falar que a dica do ivan alves pode deixar o arquivo aberto por muito tempo, caso ele exista.

De qualquer forma, a alternativa com File é mais segura, simples e elegante.

Ivan_Alves

Sim a minha dica é caso seja obrigatória tratar a exceção

Criado 26 de março de 2012
Ultima resposta 27 de mar. de 2012
Respostas 6
Participantes 5