IOは、フォルダのサイズを読んストリーム

サイズ、フォルダのソースコードを読むためのIOストリーム

インポートjava.io.Fileの;インポートパッケージcn.tedu.file
のjava.math.BigDecimal;インポートjava.util.Scanner; //再帰評価試験ディレクトリ合計サイズパブリック
クラスTest2_Size {@SuppressWarnings( "リソース")のpublic staticボイド
メイン(文字列[]引数){// 1、コンテンツSystem.out.print( "ディレクトリ:")を受信する。ユーザによる入力と、
文字列のパス=新しい新しいスキャナ(System.in).nextLine(); DIR =新しい新規ファイルの
ファイル(パス); // System.out.printl ##タイトルN( "サイズ" +サイズ(DIR));
//浮動小数点の精度の損失を防ぐために、我々はBigDecimalのキットのBigDecimal bigDecimal1 =新規のBigDecimalを使用します(サイズ(DIR)+ "");のBigDecimal =新しい新しいbigDecimal2
のBigDecimal(1073741824 + ""); BigDecimalをbigDecimal3 =
bigDecimal1.divide(bigDecimal2 ,. 3、BigDecimal.ROUND_HALF_UP)
のSystem.out.println( "サイズ" + bigDecimal3 + "G")
のSystem.out.println( "ファイル番号:" + countFileSize(DIR)) 。
System.out.println( "フォルダの数:" + countFolderSize(DIR));}

countFolderSize静的ロングプライベート(ファイルディレクトリ){
int型のサイズ= 0;
//ディレクトリのすべての内容を取得
ファイルを[] = dir.listFilesファイル();
//反復
(ファイルF:ファイル)のための{
IF(f.isDirectory( )){
//追加したフォルダ
のサイズ++;
//統計ディレクトリフォルダのディレクトリ番号入力してください
あなただけのcountFileSize(f)は、その各フロアが持っている新しいサイズを書き込むことはできません//注
サイズ+ = countFolderSizeを( F);
}
}
戻りサイズ;
}

//サイズを作成します()、の大きさを見つける
プライベート静的長いサイズ(ファイルのディレクトリを){
// 1、すべてのリソースの下のフォルダの一覧
ファイル[] FS = dir.listFiles();
// 1.1、我々はそれぞれを取得する必要がありますファイル・オブジェクトは、アレイFSをトラバースする必要がある
長い0 =カウント;変数の//定義、レコードの合計
のための(I = 0 INT; I <fs.length; I ++){
ファイルファイルFS = [I]; //現在の反復が表し得ますリソース
// --2判定するリソースファイル、バイト長の量を合計するファイル()である場合、
IF(file.isFile()){//ファイル
数=(+ file.lengthカウント); // 合計?
}そうであれば(file.isDirectory()) {//はフォルダである
リソースがフォルダであるかどうかを判断するために// --- 3、リストが続く、それはフォルダリストが判断し続け続けることがある場合に、ファイルの合計であるかどうかを判断していき...スタートリピート幹
数= +サイズ(ファイル)を数える ; // 再帰?そして...などサイズのジョブ()以来
}
}
戻りCOUNT;
}
}

公開された36元の記事 ウォン称賛13 ビュー1087

おすすめ

転載: blog.csdn.net/weixin_44598691/article/details/104658173