Tôi đã gặp một lỗi mà tôi dường như không thể tìm thấy bất kỳ logic nào đằng sau. Tôi có đối tượng Tệp này, được tạo như thế này:
File file = new File("utilities/data/someTextFile.txt");
Sau đó tôi làm file.exists()
, và nó trả về false
(!?). Nếu tệp không được tìm thấy, tôi đang đăng nhập f.getAbsolutePath()
vào một tệp. Khi tôi nhìn vào con đường, nó có vẻ ổn. Tôi có thể sao chép-dán đường dẫn hoàn chỉnh vào cửa sổ "Run" trong Windows và tệp mở ra tốt.
Tệp luôn tồn tại và không bị xóa cũng như không bị thay đổi trong quá trình chạy ứng dụng của tôi. Nó nằm ở máy cục bộ.
Điều này dường như chỉ xảy ra trong một số tình huống nhất định. Tôi có thể tái tạo lỗi bất kỳ lúc nào, nhưng tôi chắc chắn rằng đường dẫn của đối tượng tệp không bị thay đổi bởi các hành động tôi thực hiện để tái tạo lỗi.
Điều gì có thể khiến file.exists()
trả về false? Điều này có liên quan gì đến quyền hoặc khóa tệp, v.v. không?