Tôi có một tập tin với tên "aaaäaa.xls"cả File.isFile() và File.isDirectory() được trả về false
Đối với điều này, File.isFile()
và File.isDirectory()
đang trở lại false
? tại sao lại trả lại false
trong Linux
?
Tôi có một tập tin với tên "aaaäaa.xls"cả File.isFile() và File.isDirectory() được trả về false
Đối với điều này, File.isFile()
và File.isDirectory()
đang trở lại false
? tại sao lại trả lại false
trong Linux
?
Vui lòng thử ví dụ mã sau
if(!pFile.exists()){
throw new FileNotFoundException();
}
boolean isDir = pFile.isDirectory();
boolean isFile = pfile.isFile();
tập tin không phải là một tập tin
nếu nó không phải là một thư mục và, ngoài ra, đáp ứng tiêu chuẩn hệ thống phụ thuộc khác
nếu ngoại lệ được ném, bạn phải kiểm tra đường dẫn tệp.
tiêu chí phụ thuộc vào hệ thống là gì? Ngay cả .exits() đang trả về false – user760658
Tôi đang cố di chuyển tệp của mình trong ứng dụng Android của mình. Đối số 'newPath' được truyền vào' renameTo() 'thực sự là một thư mục (được tạo ra trong khi kiểm tra). Xóa thư mục đã giải quyết được sự cố. Đó là một thiết kế kém mà 'renameTo()' không ném bất kỳ loại ngoại lệ nào! – Sufian
Kiểm tra quyền của thư mục mẹ của tệp này. Một số thư mục này có thể không có quyền số thực thi cho người dùng hiện tại.
Theo documentation:
công isFile boolean()
Trả lại: đúng nếu và chỉ khi tệp được biểu thị bằng tên đường dẫn trừu tượng này tồn tại và là a bình thường tệp; sai khác.
Từ cơ sở này, tệp của bạn không tồn tại hoặc không phải là tệp bình thường.
Lý do có thể của 1st:
Lý do có thể của 2:
Hoặc đó là lỗi trong JVM. Nó cũng có thể mặc dù không. Ví dụ: cùng một lúc, tôi gặp sự cố với dấu chấm than trong tên đường dẫn - Bug 4523159.
Nếu bạn muốn truy cập tệp theo bất kỳ cách nào, hãy cân nhắc gọi số dir.listFiles()
và làm việc với giá trị trả về của tệp.
(câu trả lời là một phần dựa trên this thread)
Tôi cũng đã có vấn đề với file.isFile()
trở false
trên các tập tin, có lẽ vì các tập tin không phải là "bình thường", như đã nêu trong câu trả lời khác để câu hỏi này. Để giải quyết sự cố này, tôi sử dụng file.listFiles() != null
, có vẻ như cung cấp chức năng tôi cần. Theo số Java File API:
Nếu tên đường dẫn trừu tượng này không biểu thị thư mục, thì phương thức này sẽ trả về giá trị rỗng. Nếu không, một mảng các đối tượng File được trả về.
kiểm tra File.exists() và File.canRead() – HectorLector
Có thể đường dẫn bạn đang cung cấp không chính xác. –
'File.isDirectory()' ** nên ** trả về ** false ** trên các tệp. Một điều nữa, đó là '.' sau phần mở rộng tập tin là gì? – Maroun