Napotkałem błąd, za którym nie mogę znaleźć żadnej logiki. Mam ten obiekt File, który jest utworzony w ten sposób:
File file = new File("utilities/data/someTextFile.txt");
Wtedy robię file.exists()
i wraca false
(!?). Jeśli plik nie zostanie znaleziony, loguję się f.getAbsolutePath()
do pliku. Kiedy patrzę na ścieżkę, wydaje mi się, że jest OK. Mogę skopiować i wkleić pełną ścieżkę do okna „Uruchom” w systemie Windows i plik otwiera się dobrze.
Plik istnieje przez cały czas i nie jest usuwany ani zmieniany podczas działania mojej aplikacji. Znajduje się na komputerze lokalnym.
Wydaje się, że ma to miejsce tylko w określonych sytuacjach. Mogę odtworzyć usterkę w dowolnym momencie, ale jestem pewien, że ścieżka obiektu pliku nie jest zmieniana przez działania, które wykonuję w celu odtworzenia błędu.
Co może spowodować file.exists()
zwrócenie fałszu? Czy ma to coś wspólnego z uprawnieniami lub blokadami plików itp.?