Cách tìm dung lượng đĩa còn lại bằng Java?Cách tìm dung lượng đĩa còn lại bằng Java?
Trả lời
Chỉ cần nhìn vào lớp Tệp documentation. Đây là một trong những tính năng mới trong phiên bản 1.6.
Những phương pháp mới cũng bao gồm:
public long getTotalSpace()
public long getFreeSpace()
public long getUsableSpace()
Nếu bạn vẫn đang sử dụng 1,5 sau đó bạn có thể sử dụng thư viện Apache Commons IO và nó FileSystem class
Nếu bạn là một lập trình viên Java, bạn có thể đã đã được yêu cầu này đơn giản, stupide câu hỏi: “làm thế nào để tìm ra dung lượng đĩa trống còn lại trên hệ thống của tôi?”. Vấn đề là câu trả lời là phụ thuộc vào hệ thống. Trên thực tế, đây là triển khai thực hiện là hệ thống phụ thuộc . Và cho đến gần đây, không có giải pháp duy nhất để trả lời câu hỏi này, mặc dù nhu cầu có đã được ghi vào Cơ sở dữ liệu lỗi của Sun kể từ tháng 6 năm 1997. Bây giờ có thể nhận được không gian đĩa miễn phí trong Java 6 với a trong tệp lớp, trong đó trả lại số lượng không phân bổ byte trong phân vùng có tên là tên đường dẫn trừu tượng. Nhưng bạn có thể là quan tâm đến không gian đĩa có thể sử dụng (có thể ghi được). Nó thậm chí còn có thể là để có được tổng dung lượng đĩa của một phân vùng với phương thức getTotalSpace().
Sử dụng CommonsIO và FilesystemUtils:
ví dụ
FileSystemUtils.freeSpaceKb("/");
hoặc được xây dựng vào JDK:
http://java.sun.com/javase/6/docs/api/java/io/File.html#getFreeSpace()
new File("/").getFreeSpace();
Có chức năng tích hợp nào khác phục vụ mục đích mà không cần tạo tệp mới không? – user892871
Nó không tạo tệp mới trên đĩa, chỉ là đối tượng Tệp, nếu đó là điều bạn lo lắng về –
'FileSystemUtils' chỉ thực hiện lệnh" df "(hoặc sử dụng DIR trên cửa sổ). khá khủng khiếp. –
Java 1.7 có một API hơi khác nhau, không gian miễn phí có thể được truy vấn thông qua các lớp FileStore qua getTotalSpace(), getUnallocatedSpace() và getUsableSpace() phương pháp .
NumberFormat nf = NumberFormat.getNumberInstance();
for (Path root : FileSystems.getDefault().getRootDirectories()) {
System.out.print(root + ": ");
try {
FileStore store = Files.getFileStore(root);
System.out.println("available=" + nf.format(store.getUsableSpace())
+ ", total=" + nf.format(store.getTotalSpace()));
} catch (IOException e) {
System.out.println("error querying space: " + e.toString());
}
}
Ưu điểm của API này là bạn nhận được ngoại lệ có ý nghĩa khi truy vấn không gian đĩa bị lỗi.
Trên Linux Debian, hàm FileSystems.getDefault(). GetRootDirectories() chỉ trả về thư mục "/". – pako
khi kiểm tra không gian đĩa bằng java bạn có phương thức sau trong java.io lớp File
- getTotalSpace()
- getFreeSpace()
mà chắc chắn sẽ giúp bạn trong việc có được thông tin cần thiết. Ví dụ, bạn có thể tham khảo http://javatutorialhq.com/java/example-source-code/io/file/check-disk-space-java/ đưa ra một ví dụ cụ thể trong việc sử dụng các phương pháp này.
Chào mừng bạn đến với Stack Overflow! Xin lưu ý rằng các liên kết trống đến trang web/sản phẩm của bạn không được khuyến khích ở đây vì hai lý do; Đầu tiên, câu trả lời phải được đăng dưới dạng câu trả lời tự chứa, không phải là liên kết đơn thuần tới trang web bên ngoài. Thứ hai, tự quảng cáo có xu hướng bị cau mày khi ở đây và thường bị gắn cờ là spam (đặc biệt là nếu không có tiết lộ nào mà bạn đang liên kết đến trang web/sản phẩm của riêng bạn). –
public class MemoryStatus{
public static void main(String args[])throws Exception{
Runtime r=Runtime.getRuntime();
System.out.println("Total Memory: "+r.totalMemory());
System.out.println("Free Memory: "+r.freeMemory());
}
}
Hãy thử mã này để có được diskspace
Mã này dành cho bộ nhớ, không phải dung lượng ổ đĩa. –
- 1. Lệnh unix để xem dung lượng ổ đĩa còn bao nhiêu và số lượng còn lại là bao nhiêu?
- 2. Cách tính dung lượng đĩa trống?
- 3. Xóa dung lượng trống trên ổ đĩa cứng bằng C#
- 4. MongoDb: Tránh dung lượng đĩa quá nhiều
- 5. Tăng dung lượng ổ đĩa thể hiện AWS EC2 ubuntu
- 6. IOKhông đủ dung lượng ổ đĩa khi truy cập ổ đĩa gắn Citrix
- 7. Làm cách nào để tìm ra dung lượng bộ nhớ còn trống trong GNU C++ trên Linux
- 8. Làm cách nào tôi có thể kiểm tra dung lượng đĩa sẵn có?
- 9. bash coproc và sản lượng coproc còn sót lại
- 10. mysql: Cách giải phóng dung lượng (innodb)
- 11. Cách tìm số lượng tệp hiện đang mở bằng ứng dụng Java?
- 12. Cách lấy thông tin ổ đĩa theo id âm lượng
- 13. iPhone - Dung lượng trống còn trống trên thiết bị được báo cáo không chính xác (+ - chênh lệch 200 Mb)
- 14. Gửi đối tượng java đến một WebService còn lại
- 15. Làm thế nào để một luồng.Thread mang lại phần còn lại của lượng tử trong Python?
- 16. Hết dung lượng heap
- 17. Cách lấy thời lượng pin còn lại trong hệ thống Windows?
- 18. Làm thế nào tôi có thể tìm thấy dung lượng trống có sẵn trên các ổ đĩa được gắn bằng Perl?
- 19. libv4l2: lỗi khi bật luồng: Không còn dung lượng trên thiết bị
- 20. div còn lại lấp đầy không gian ngang còn lại?
- 21. Lực lượng đường ống nội dung js.erb biên dịch lại
- 22. FOS bó phần còn lại: không thể tìm thấy mẫu
- 23. Lưu Nội dung NSCache vào Đĩa
- 24. Tạo máy chủ java có phần còn lại
- 25. cách lấy dữ liệu từ dynamodb bằng cách sử dụng phần còn lại api
- 26. Có thể định dạng thẻ nhớ, ổ đĩa bút hoặc đĩa bằng Java không?
- 27. Làm cách nào để tìm hiểu dung lượng bộ nhớ được cài đặt trong Windows?
- 28. Làm thế nào để xác định số lượng tệp trên một ổ đĩa bằng Python?
- 29. Trái div chiều rộng 200px, nội dung div phần còn lại?
- 30. Ví dụ EC2 trên Amazon và tôi được chào đón với "Không có không gian còn lại trên đĩa"
Lưu ý rất quan trọng mà getUsableSpace không bằng getFreeSpace. Ví dụ, trên các hệ thống tệp Linux, các phân vùng thường có một số khối dành riêng. Chúng được bao gồm trong giá trị trả về bởi getFreeSpace() nhưng không có giá trị từ getUsableSpace(). Vì vậy, nếu bạn quan tâm đến bao nhiêu không gian bạn phải viết các tập tin trong, sử dụng getUsableSpace - KHÔNG getFreeSpace(). – Mikkel
"Bạn đang sử dụng", không phải "bạn đang sử dụng", vì Chúa. Lớp hệ thống của nó. – biggvsdiccvs