2012-01-04 25 views
95

thể trùng lặp:
Size of folder or fileLàm thế nào để có được kích thước tập tin trong Java

tôi đã sử dụng mã này để tạo một đối tượng File:

File f = new File(path); 

Làm thế nào để tôi nhận được kích thước của tập tin này?

Sự khác biệt giữa getUsableSpace(), getTotalSpace()getFreeSpace() là gì?

+2

thậm chí bạn có * thử * để tìm kiếm câu hỏi hiện có trả lời câu hỏi của bạn không? – Bohemian

+4

Phụ thuộc; ở miền trung hoặc miền đông, sử dụng tiếng Java; trong phần còn lại, sử dụng tiếng Indonesia. Hầu hết người nói tiếng Java (ngoại trừ các ngoại lệ) cũng nói tiếng Indonesia. Đợi đã, cái gì? –

Trả lời

175

Sử dụng length() phương thức trong lớp File . Từ javadocs:

Trả về độ dài của tệp được biểu thị bằng tên đường dẫn trừu tượng này. Giá trị trả về không được chỉ định nếu tên đường dẫn này biểu thị một thư mục.

Đối với phần thứ hai của câu hỏi, trực tiếp từ File javadocs 's:

  • getUsableSpace() Trả về số byte có sẵn cho máy ảo này trên phân vùng được đặt tên bởi tên đường dẫn trừu tượng này

  • getTotalSpace() Trả lại kích thước của phân vùng được đặt tên theo tên đường dẫn trừu tượng này

  • getFreeSpace() Trả lại số byte chưa phân bổ trong phân vùng có tên là tên đường dẫn trừu tượng này

31

Bạn có thử

long length = f.length(); 

Đối với chênh lệch giữa getUsableSpace(), getTotalSpace(), getFreeSpace(), hãy nhìn vào this tăng cường trong J2SE 1.6

+2

Liên kết ở trên dường như bị hỏng ngay bây giờ. [Bài viết này] (http://www.oracle.com/technetwork/articles/javase/enhancements-136788.html) dường như chứa thông tin tương tự – GreenGiant

14

Đã làm nhanh google. Dường như đó để tìm kích thước tập tin bạn làm điều này,

long size = f.length(); 

Sự khác biệt giữa ba phương pháp bạn gửi có thể được tìm thấy here

getFreeSpace() và getTotalSpace() là khá tự giải thích, getUsableSpace() có vẻ là không gian mà JVM có thể sử dụng, mà trong hầu hết các trường hợp sẽ giống như lượng dung lượng trống.

+2

** Tôi chỉ tìm thấy mã này trong trang web này: và rất hữu ích ** thư mục tĩnh tĩnh công cộngSize (Thư mục tệp) { long length = 0; cho (Tệp tệp: directory.listFiles()) { nếu (file.isFile()) length + = file.length(); else length + = folderSize (tệp); } chiều dài trả lại; } –

Các vấn đề liên quan