Ho riscontrato un bug che non riesco a trovare alcuna logica dietro. Ho questo oggetto File, che viene creato in questo modo:
File file = new File("utilities/data/someTextFile.txt");
Allora lo faccio file.exists()e ritorna false(!?). Se il file non viene trovato, accedo f.getAbsolutePath()a un file. Quando guardo il percorso, sembra OK. Posso copiare e incollare il percorso completo nella finestra "Esegui" in Windows e il file si apre correttamente.
Il file esiste sempre e non viene cancellato né modificato durante l'esecuzione della mia applicazione. Si trova nella macchina locale.
Questo sembra accadere solo in determinate situazioni. Posso riprodurre l'errore in qualsiasi momento, ma sono sicuro che il percorso dell'oggetto file non viene modificato dalle azioni che faccio per riprodurre l'errore.
Cosa può causare la file.exists()restituzione di false? Ha qualcosa a che fare con i permessi, i blocchi dei file, ecc.