2009-06-08 4 views
9

Tôi đang tìm một danh sách các nền tảng cụ thể (JRE cụ thể) của các thông báo IOException cho biết đĩa đầy hoặc không gian.IOException cho ổ đĩa đầy đủ hoặc không gian

Cho đến nay tôi có:

  • Windows: There is not enough space on the disk
  • Solaris/Linux ?: Not enough space
  • GCJ: No space left on device

Tôi muốn Java sẽ làm cho một lớp con IOException cho việc này. ..

+1

Vì vậy, câu hỏi của bạn là "thông điệp out-of-đĩa-không gian trên hệ điều hành khác là gì?" –

+0

Có, câu hỏi thực sự ở đây là gì? –

Trả lời

7

Từ ngữ thực sự là một mớ hỗn độn của hệ thống e, không phải từ JRE. (Tuân thủ POSIX sẽ trả lại "Không đủ dung lượng")

Như vậy, tốt nhất là bạn nên có danh sách thông báo lỗi hệ thống cho hệ điều hành bạn đang nhắm mục tiêu.

Ngoài ra, khi ngoại lệ được ném, bạn có thể kiểm tra xem có còn dung lượng nào trên đĩa hay không.

Từ commons apache IO: (! Hoặc thậm chí có thể ném một IOException)

FileSystemUtils.freeSpaceKb(String path); 

sẽ trở lại không gian trống trên ổ đĩa/khối lượng

0

Là tại sao không có một lớp con IOException, tôi nghi ngờ rằng các cuộc gọi tập tin hệ điều hành không cung cấp đủ thông tin trong đủ trường hợp cho Java để biết những gì lỗi là không phân tích cú pháp thông báo lỗi (một hoạt động rất mong manh nhất). Điều này có thể đúng với một số cuộc gọi io.

1

tôi thấy thông báo sau:

"There is not enough space on the disk" 
"Not enough space" 
"No space left on device"