Java | ファイルサイズを「MB単位」で整形して表示しつつソート

Java Java
スポンサーリンク

「ファイルサイズを MB 単位で整形して表示しつつソート」する完全な Java プログラム例を紹介します。


プロジェクト概要

  • 目的: 指定フォルダ内のファイルを取得し、サイズを MB 単位で表示しながらソートする。
  • ソート基準: ファイルサイズ(大きい順 or 小さい順)。
  • 整形: バイト数を MB に変換して「xx.xx MB」の形式で表示。

完全なコード例

import java.io.File;
import java.util.*;

public class FileSizeSort {
    public static void main(String[] args) {
        // 対象ディレクトリを指定(例: C:/example)
        File dir = new File("C:/example");

        // ディレクトリ内のファイル一覧を取得
        File[] files = dir.listFiles();
        if (files == null) {
            System.out.println("ディレクトリが存在しないか、アクセスできません。");
            return;
        }

        // ファイルサイズでソート(大きい順)
        Arrays.sort(files, Comparator.comparingLong(File::length).reversed());

        // 結果を表示
        System.out.println("=== ファイルサイズランキング (MB単位) ===");
        for (File f : files) {
            if (f.isFile()) {
                double sizeMB = f.length() / (1024.0 * 1024.0); // バイト→MB変換
                System.out.printf("%-30s : %.2f MB%n", f.getName(), sizeMB);
            }
        }
    }
}
Java

実行例(仮想出力)

=== ファイルサイズランキング (MB単位) ===
report.pdf                  : 12.45 MB
video.mp4                   : 8.32 MB
data.csv                    : 1.27 MB
notes.txt                   : 0.05 MB

応用ポイント

  • 昇順にしたい場合: Arrays.sort(files, Comparator.comparingLong(File::length));
  • 複合条件ソート: サイズが同じならファイル名順にする Arrays.sort(files, Comparator .comparingLong(File::length).reversed() .thenComparing(File::getName));
  • GB単位表示: f.length() / (1024.0 * 1024.0 * 1024.0) に変更。

これで「ファイルサイズを MB 単位で整形して表示しつつソート」ができます。

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました