Eu encontrei um bug que não consigo encontrar nenhuma lógica por trás. Eu tenho este objeto File, que é criado assim:
File file = new File("utilities/data/someTextFile.txt");
Então eu faço file.exists()
, e ele retorna false
(!?). Se o arquivo não for encontrado, estou logando f.getAbsolutePath()
em um arquivo. Quando eu olho para o caminho, parece OK. Posso copiar e colar o caminho completo na janela "Executar" do Windows e o arquivo abre corretamente.
O arquivo existe o tempo todo e não é excluído nem alterado durante a execução do meu aplicativo. Ele está localizado na máquina local.
Isso só parece ocorrer em certas situações. Posso reproduzir a falha a qualquer momento, mas tenho certeza de que o caminho do objeto de arquivo não é alterado pelas ações que faço para reproduzir a falha.
O que pode causar um file.exists()
retorno falso? Isso tem algo a ver com permissões ou bloqueios de arquivos, etc.?