8

ドキュメントの定義を読み、インターネットでいくつかの検索を実行しましたが、まだ明確ではありません。getUsableSpace()getUnallocatedSpace()in the FileStoreclassはどう違いますか?

4

3 に答える 3

4

FileStore クラスのドキュメントから

getUnallocatedSpace() ファイル ストア内の未割り当てのバイト数を返します。

getUsableSpace()ファイル ストアでこの Java 仮想マシンが使用できるバイト数を返します。

そのため、使用可能なスペースよりも多くの未割り当てスペースが存在する可能性があります。

次のコード スニペットでテストできます。

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

これは私の出力の抜粋です

************************************
tmpfs
Unallocated space: 206356480
Unused space: 206356480
************************************
/dev/sda6
Unallocated space: 1089933312
Unused space: 790126592
************************************
于 2015-07-15T15:52:37.073 に答える
1

ドキュメントを覗いてみると、ファイル ストアのすべての未割り当て領域を参照しgetUsableSpaceながら、現在の Java VM を対象としていると思います。getUnallocatedSpace

于 2013-04-30T14:43:58.823 に答える