Java ドライブの容量と空き容量を取得(Fileクラス)

JavaのFileクラスのメソッドで、ドライブの容量と空き容量を取得するサンプルです。
(確認環境:Java 8)

目次

ドライブ ドライブの容量を取得する
  ドライブの空き容量を取得する
ファイル ファイルのサイズを取得する

ドライブの容量を取得する

public long getTotalSpace()
  • FileクラスのgetTotalSpaceメソッドは、ドライブの総容量のサイズをバイト単位で返します。
  • 戻り値はlong型です。

ドライブの容量を取得するサンプルです。

package test1;
import java.io.File;

public class Test1 {
	public static void main(String[] args) {

		String dir = "D:\\";
		File file = new File(dir);
		
        long total = file.getTotalSpace();
        
        double pow = Math.pow(1024, 3); //1024*1024*1024
        System.out.println
        	("総容量:" + Math.floor(total / pow) + "GB");
        	// 総容量:931.0GB
	}
}

8行目は、Fileクラスをインスタンス化しています。
10行目は、getTotalSpaceメソッドでドライブの容量を取得しています。戻り値はlong型です。
12行目は、取得する数値はバイト単位のため、GB単位で表示するための計算です。
14行目は、931.0GBのように表示されます。

バイト変換するWebツール(B,KB,MB,GB,TB)

以下はJava8 API仕様のFileクラスのgetTotalSpaceメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/io/File.html#getTotalSpace--

 

ドライブの空き容量を取得する

public long getFreeSpace()
  • FileクラスのgetFreeSpaceメソッドは、ドライブの容量の未割り当てのサイズをバイト単位で返します。
  • 戻り値はlong型です。

ドライブの空き容量を取得するサンプルです。

package test1;
import java.io.File;

public class Test1 {
	public static void main(String[] args) {

		String dir = "D:\\";
		File file = new File(dir);
		
        long total = file.getFreeSpace();
        
        double pow = Math.pow(1024, 3); //1024*1024*1024
        System.out.println
        	("空き容量:" + Math.floor(total / pow) + "GB");
        	// 空き容量:819.0GB
	}
}

8行目は、Fileクラスをインスタンス化しています。
10行目は、getFreeSpaceメソッドでドライブの空き容量を取得しています。戻り値はlong型です。
12行目は、取得する数値はバイト単位のため、GB単位で表示するための計算です。
14行目は、819.0GBのように表示されます。

以下はJava8 API仕様のFileクラスのgetFreeSpaceメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/io/File.html#getFreeSpace--

 

ファイルのサイズを取得する

public long length()
  • Fileクラスのlengthメソッドは、ファイルのサイズをバイト単位で返します。
  • 戻り値はlong型です。

ファイルのサイズを取得するサンプルです。

package test1;
import java.io.File;

public class Test1 {
	public static void main(String[] args) {

        String dir = "D:\\Test5";
        String filename = "\\test1.txt";

		File file = new File(dir + filename);
		
        long total = file.length();
		
        System.out.println
        	("ファイルサイズ:" + total + "バイト");
        	// ファイルサイズ:38バイト
	}
}

10行目は、Fileクラスをインスタンス化しています。
12行目は、lengthメソッドでファイルサイズを取得しています。戻り値はlong型です。
14行目は、38バイトのように表示されます。取得する数値はバイト単位になります。

以下はJava8 API仕様のFileクラスのlengthメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/io/File.html#length--

関連の記事

バイト変換するWebツール(B,KB,MB,GB,TB)
Java フォルダ/ファイルの一覧を取得(Fileクラス)

△上に戻る