Javaの学習 - ファイルIO操作

1.フォルダのスキャン

\ WINDOWSの(フォルダを含まない)、すべてのファイルのディレクトリ、ファイル、およびそれらの最小と最大のサイズをプリントアウト(バイト):Cを横断

知識ポイント:LISTFILES()、長さ()、ISFILE()

1  パッケージIOTest;
 2  インポートjava.io.Fileの;
 3。 
4つの。 パブリック クラスのテスト{
 5。     公共 静的 ボイドメイン(文字列[]引数){
 6。 
7。          ファイルF = 新しい新しいファイル( "C:/ WINDOWS" );
 8つの。          ファイルFS [ ] = f.listFiles();
 9。         // 一時変数を使用する統計的最小値と最大値
10          のint最大= 0 ;
 11。         INT分=(INT)(Math.pow(2、31である)、 - 1。);
 12である         INT MAX_INDEX = 0 ;
 13         int型 min_index = 0 ;
14          
15          のためにINT I 0 =; I <fs.length; I ++ ){
 16              であれば(FS [i]は.isFile()){
 17                  であれば(FS [I] .LENGTH()> MAX){
 18                      、最大=は(INT )FS [I] .LENGTH()。
19                      MAX_INDEX = I。
20                  }
 21                  であれば(FS [I] .LENGTH()<分間&& FS [I] .LENGTH()!= 0){ // 最小文件不能为0字节
22                      分=(INT )FS [I] .LENGTH ();
23                      min_index =I;
 24                  }
 25              }
 26である         }
 27          System.out.printf( "最大ファイルサイズ%Dバイト\ N-、%sで" ;、FS [MAX_INDEX]、max)は
 28          System.out.printf(「最小ファイルた%S、%Dバイトサイズ」、FS [min_index]、分);
 29      }
 30 }

レンダリング:

2.フォルダのスキャン(詳細)

(下のすべてのサブフォルダのファイルを含む)指定したフォルダ内のすべてのファイル

知識ポイント:再帰、グローバル変数は、コードの最初の質問は、変更することができます

1  パッケージIOTest;
 2  
3。 インポートjava.io.Fileの;
 4  
5。 パブリック クラスのテスト{
 6。     // 以下のグローバル変数によって強制
7。     静的 int型の最大値= 0 ;
 8      静的 INT分=(INT)(Math.pow(2、 31) -である1。);
 9。     静的 int型 MAX_INDEX = 0 ;
 10      静的 INT min_index = 0 ;
 11。     静的文字列MAXFILE = NULL ; // 最大ファイル名
12は、     静的文字列MINFILE = nullを13      
14      公共 静的 ボイドFUNC(ファイルf){
 15          であれば(f.exists()){
 16の              ファイルFS [] = f.listFiles()。        
17              のためにintは <; fs.length I ++ I I = 0 ){
 18                  であれば(FS [i]が.isFile()){ // 若是文件
19                      であれば(FS [i]が.LENGTH()> MAX){
 20                          最大値=(INT )FS [I] .LENGTH()。
21                          MAX_INDEX = I。
22                         = MAXFILE String.valueOf(FS [MAX_INDEX]);
 23である                     }
 24                      IF(FS [I] .LENGTH()<分間&& FS [I] .LENGTH()!= 0){ // 最小ファイルが0バイトであることはできません
25                          分=(INT )FS [I] .LENGTH();
 26である                          min_index = Iは、
 27                          MINFILE = String.valueOf(FS [min_index]);
 28                      }
 29                  }  { // フォルダ場合、再帰呼び出しが探し続けFUNC 
30                      FUNC(FS [I]);
 31である                 }
 32             }
 33である         }
 34はである     }
 35      
36      公共 静的 ボイドメイン(文字列[]引数){
 37 [  
38である          ファイルF = 新しい新しいファイル( "D:/プログラムファイル(x86の)"); // Cのディスク・ポインタ例外が発生する可能性がある場合、推定されますファイルアクセスの問題
39          FUNC(F);
 40          System.out.printf( "最大ファイル%S、サイズ%Dバイト\ N-た" 、MAXFILE、max)は、
 41である          System.out.printf(「最小ファイル%S、サイズは%dバイト\ N-」であった、MINFILE、分);
 42である     }
 43です }

レンダリング:

おすすめ

転載: www.cnblogs.com/gilgamesh-hjb/p/12180165.html