2013-04-30 7 views

Odpowiedz

0

Od podglądu dokumentacji uważam, że getUsableSpace jest zorientowany na bieżący plik Java, podczas gdy getUnallocatedSpace odnosi się do całego nieprzydzielonego miejsca w magazynie plików.

2

Z FileStore class documentation

getUnallocatedSpace() zwraca liczbę bajtów nieprzydzielonych w magazynie plików.

getUsableSpace() Zwraca liczbę dostępnych bajtów dla tej wirtualnej maszyny Java w magazynie plików.

Jest więc prawdopodobnie więcej nieprzydzielonego miejsca niż powierzchnia użytkowa.

Można przetestować go z poniższym fragmencie kodu

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("************************************"); 
     } 
    } 
} 

Jest to fragment mojego wyjścia

************************************ 
tmpfs 
Unallocated space: 206356480 
Unused space: 206356480 
************************************ 
/dev/sda6 
Unallocated space: 1089933312 
Unused space: 790126592 
************************************ 
Powiązane problemy