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”
pmlm
Maio 11, 2011, 10:40am
#4
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
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.