IO no Java

Pessoal, tenho um arquivo txt chamado conta.txt na seguinte estrutura.

String caminho = “C:”+File.separator+“Conta”+File.separator+“conta.txt”;]

aqui eu crio o arquivo

File arquivo = new File(caminho);

quando eu faço

file.exists isso returna false,

PORQUE ISTO?

obrigado

import java.io.File;

public class Teste {
	public static void main(String[] args) {

		String caminho = "C:" + File.separator + "Conta" + File.separator + "conta.txt";
		File arquivo = new File(caminho); 
		System.out.println(arquivo.exists());
		
	}
}

Console: true

o arquivo realmente existe?
problemas com case sensitive?

att,

realmente existe,

está certo tambem os “case sensitive”

A variável é arquivo ou file?

qual variavel?

caminho??

ele se refere ao arquivo conta.txt como vc pode ver acima

Obrigado

[quote=pedruhenrik][code]
import java.io.File;

public class Teste {
public static void main(String[] args) {

	String caminho = "C:" + File.separator + "Conta" + File.separator + "conta.txt";
	File arquivo = new File(caminho); 
	System.out.println(arquivo.exists());
	
}

}

Console: true
[/code]

o arquivo realmente existe?
problemas com case sensitive?

att,[/quote]

eu copiei e colei seu código

a estrutura esta assim: C:\Conta\conta.txt

o usuário tem acesso ao arquivo?

att,

a aplicação esta local,eu sou o unico usário da minha maquina ,

como eu verifico isto?

Eu usei este código que gero a exceção embaixo

  private Conta pegarConta() throws IOException, Exception {
        String arquivoConta = "C:"+File.separator+"Conta"+File.separator+"conta.txt";
        File arquivo = new File(arquivoConta);
        //if (arquivo.exists()) {
            List<String> dadosConta = new ArrayList<String>();
            try {
                BufferedReader in = new BufferedReader(new FileReader(arquivo));
                String dados;
                while (in.ready()) {
                    dados = in.readLine();
                    dadosConta.add(dados);
                }
                in.close();
                Conta conta = new Conta();
                conta.setEmail(dadosConta.get(0));
                conta.setSenha(dadosConta.get(1));
                return conta;
            } catch (IOException e) {
                e.printStackTrace();
                throw e;
            }
        //} else {
          //  throw new Exception();
        //}
    }

Exceção java.io.FileNotFoundException

Não intendi =S…

ELE ABRE NORMAL

Quando você faz:
File file = new File(“uri”);

Você cria um descritor para o arquivo, não necessariamente o arquivo.

Faça um teste simples pois pode ser que vc esteja apontando para o arquivo errado.

File f = new File(pathname); while(!f.exists()) { try { f.createNewFile(); //Cria o arquivo } catch (IOException e) { e.printStackTrace(); } } System.out.println("Existo!");

Se rodar exceção, pode ser que vc não tenha algum privilégio no caminho desejado.

A mensagem da exceção gera também qual o nome que tentou utilizar não?

Faça um teste: pegue a String que foi passada para o File (provavelmente a mesma que compõe a mensagem da exceção), copie a mesma e cole no Executar do Windows (Iniciar > Executar) e veja se o Windows abre o arquivo. Se não abrir, é porque o caminho indicado está, de algum modo errado.