ฉันพบข้อผิดพลาดดูเหมือนจะไม่พบเหตุผลใด ๆ ที่อยู่เบื้องหลัง ฉันมีอ็อบเจ็กต์ไฟล์ซึ่งสร้างขึ้นในลักษณะนี้:
File file = new File("utilities/data/someTextFile.txt");
จากนั้นฉันก็ทำfile.exists()
และมันจะกลับมาfalse
(!?) หากไม่พบไฟล์แสดงว่าฉันกำลังเข้าสู่f.getAbsolutePath()
ไฟล์ เมื่อฉันมองไปที่เส้นทางดูเหมือนว่าตกลง ฉันสามารถคัดลอกและวางเส้นทางทั้งหมดลงในหน้าต่าง "Run" ใน Windows และไฟล์จะเปิดขึ้นได้ดี
ไฟล์นี้มีอยู่ตลอดเวลาและจะไม่ถูกลบหรือเปลี่ยนแปลงในระหว่างการเรียกใช้แอปพลิเคชันของฉัน มันอยู่ที่เครื่องในท้องถิ่น
สิ่งนี้ดูเหมือนจะเกิดขึ้นในบางสถานการณ์เท่านั้น ฉันสามารถทำซ้ำข้อผิดพลาดได้ตลอดเวลา แต่ฉันแน่ใจว่าเส้นทางของอ็อบเจ็กต์ไฟล์ไม่ได้เปลี่ยนแปลงไปจากการกระทำที่ฉันทำเพื่อสร้างความผิดพลาดอีกครั้ง
อะไรทำให้file.exists()
คืนค่าเท็จได้ สิ่งนี้เกี่ยวข้องกับการอนุญาตหรือการล็อกไฟล์ ฯลฯ หรือไม่?