72

Javaを使用して残りのディスク容量を確認するにはどうすればよいですか?

4

4 に答える 4

100

Fileクラスのドキュメントをご覧ください。これは1.6の新機能の1つです。

これらの新しいメソッドには、次のものも含まれます。

  • public long getTotalSpace()
  • public long getFreeSpace()
  • public long getUsableSpace()

まだ1.5を使用している場合は、 ApacheCommonsIOライブラリとそのFileSystemクラスを使用できます。

于 2009-06-26T21:13:10.053 に答える
68

Java 1.7 の API はわずかに異なります。空き領域は、 getTotalSpace()getUnallocatedSpace()、およびgetUsableSpace()メソッドを介してFileStoreクラスからクエリできます。

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

この API の利点は、ディスク領域のクエリが失敗したときに意味のある例外が返されることです。

于 2011-10-19T03:24:44.387 に答える
24

CommonsIOとFilesystemUtilsを使用します。

https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/FileSystemUtils.html#freeSpaceKb()

例えば

FileSystemUtils.freeSpaceKb("/"); 

またはJDKに組み込まれています:

http://java.sun.com/javase/6/docs/api/java/io/File.html#getFreeSpace()

new File("/").getFreeSpace();
于 2009-06-26T21:14:29.207 に答える