2013-04-30 34 views

Trả lời

0

Từ nhìn trộm tài liệu, tôi giả định rằng getUsableSpace được định hướng về vm java hiện tại, trong khi getUnallocatedSpace đề cập đến tất cả không gian chưa phân bổ trên lưu trữ tệp.

2

Từ FileStore class documentation

getUnallocatedSpace() Trả về số byte chưa phân bổ trong các cửa hàng tập tin.

getUsableSpace() Trả về số byte sẵn có tới máy ảo Java này trên lưu trữ tệp.

Vì vậy, có thể có nhiều không gian chưa được phân bổ hơn dung lượng có thể sử dụng.

Bạn có thể thử nghiệm nó với đoạn mã sau

import java.io.IOException; 
import java.nio.file.FileStore; 
import java.nio.file.FileSystems; 

public class TestFileStore { 
    public static void main(String[] args) throws IOException { 
     for (FileStore fileStore : FileSystems.getDefault().getFileStores()) { 
      System.out.println(fileStore.name()); 
      System.out.println("Unallocated space: " + fileStore.getUnallocatedSpace()); 
      System.out.println("Unused space: " + fileStore.getUsableSpace()); 
      System.out.println("************************************"); 
     } 
    } 
} 

Đây là một đoạn trích của đầu ra của tôi

************************************ 
tmpfs 
Unallocated space: 206356480 
Unused space: 206356480 
************************************ 
/dev/sda6 
Unallocated space: 1089933312 
Unused space: 790126592 
************************************ 
Các vấn đề liên quan