web-dev-qa-db-ja.com

Javaを使用して残っているディスク容量を見つける方法

Javaを使用して残っているディスク容量を見つける方法

58
Roman Kagan

Fileクラスをご覧ください documentation 。これは1.6の新機能の1つです。

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

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

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

86
Kredns

Java 1.7にはわずかに異なるAPIがあり、空きスペースは FileStore クラスを介して getTotalSpace()getUnallocatedSpace() および- getUsableSpace() メソッド。

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の利点は、ディスク領域のクエリが失敗したときに意味のある例外が返されることです。

55
prunge

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();
19
Jon

リンク

もしあなたがJavaプログラマなら、あなたはすでにこの単純で馬鹿げた質問を尋ねられているかもしれません:「私のシステムに残っている空きディスク容量を見つける方法?」。問題は答えが実際、それはシステムに依存する実装であり、ごく最近まで、1997年6月以来Sunのバグデータベースにその必要性が記録されていましたが、この質問に答える独自のソリューションはありませんでした。空きディスク領域Java 6クラスFileのメソッドで、抽象パス名で指定されたパーティションの未割り当てバイト数を返します。しかし、使用可能なディスク領域に興味があるかもしれません(書き込み可能なもの)。getTotalSpace()メソッドを使用して、パーティションの合計ディスク容量を取得することもできます。

6
Chris Klepeis

Java=

  • getTotalSpace()
  • getFreeSpace()

これにより、必要な情報を確実に取得できます。たとえば、 http://javatutorialhq.com/Java/example-source-code/io/file/check-disk-space-Java/ を参照すると、これらのメソッドを使用した具体的な例を示します。

3
user2237049