Xin xem đoạn mã:Java File.isDirectory() trả về False cho một thư mục trong Linux
File[] additionalFiles = new File(FILE_PATH).listFiles();
boolean isDirectory = file.isDirectory();
Tôi đã xác minh rằng đường dẫn thư mục là đúng, và khi tôi chạy mã trên Windows, giá trị của isDirectory là đúng (như nó phải là). Bất kỳ đề xuất nào về lý do tại sao điều này xảy ra trên Linux (RedHat Enterprise Linux)?
Thư mục có phải là một thư mục thông thường hoặc một liên kết tượng trưng không? Phiên bản Java nào? Phiên bản RH nào? Thư mục có chứa bất kỳ ký tự không bình thường (không phải tiếng Anh) nào không? – Yishai
Giá trị của 'FILE_PATH' là gì? Liệu nó có khả năng chứa các dấu phân tách tệp kiểu Windows ('\') không? –
Tôi tin rằng đó là một simlink, thư mục này nằm ngoài một máy chủ chia sẻ - nó tác động như thế nào? Phiên bản Java là 6 bản cập nhật 17. Phiên bản RH là Enterprise RedHat 5. Thư mục chứa tất cả các chữ thường, không có ký tự đặc biệt và bộ tách tệp là chính xác (tôi đã in ra thư mục khi chạy chương trình, sau đó sao chép và dán nó trong dòng lệnh sau "cd" và thành công và cd'd vào thư mục). – shelt536