2016.11.23
ファイル
ファイルのリストを取得
パスに格納されているファイルに対して処理をおこなったり、数をかぞえたりするに使用することができます。
Javaソースコード
FileList.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047
import java.io.File; public class FileList { public static void main( String[] args ) { String path; // 検索パス // 入力した引数が1つ以上かを調べる if ( 1 > args.length ) { // 入力した引数が1つ未満の場合、使用方法を表示する System.out.println( "FileList [検索パス]" ); return; } // パラメータを検索パスに代入 path = args[ 0 ]; // パスを指定 File dir = new File( path ); //フルパスで取得 File[] files1 = dir.listFiles(); if ( null == files1 ) { // ファイルリストの取得に失敗 System.out.println( "ファイルリストの取得に失敗しました!(" + path + ")" ); return; } // ファイルリストの表示 for ( int i = 0; i < files1.length; i ++ ) { File file = files1[ i ]; // ファイル名か判定 if ( file.isFile() ) { // ファイル名を表示 System.out.println( "ファイル名 : " + file ); } else { // ディレクトリ名か判定 if ( file.isDirectory() ) { //ディレクトリ名を表示 System.out.println( "ディレクトリ名 : " + file ); } } } } }
実行
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis FileList.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac FileList.java
実行例
C:\talavax\javasample>java FileList c:\samplepath
指定した検索パス
出力結果
ディレクトリ名 : C:\samplepath\dir1 ディレクトリ名 : C:\samplepath\dir2 ファイル名 : C:\samplepath\sample.csv ファイル名 : C:\samplepath\sample1.txt ファイル名 : C:\samplepath\sample2.txt ファイル名 : C:\samplepath\sample3.txt
Javaソースコードの解説
001
import java.io.File;
003
public class FileList {
クラス名を、FileListとしています。
004
public static void main( String[] args ) {
このmainメソッドからプログラムを実行します。
005
String path; // 検索パス
このプログラムで使う変数を宣言しています。
007 008 009 010 011 012 013
// 入力した引数が1つ以上かを調べる if ( 1 > args.length ) { // 入力した引数が1つ未満の場合、使用方法を表示する System.out.println( "FileList [検索パス]" ); return; }
015 016
// パラメータを検索パスに代入
path = args[ 0 ];
018 019
// パスを指定
File dir = new File( path );
検索パス名でFileクラスを構築しています。
021 022 023 024 025 026 027 028
//フルパスで取得 File[] files1 = dir.listFiles(); if ( null == files1 ) { // ファイルリストの取得に失敗 System.out.println( "ファイルリストの取得に失敗しました!(" + path + ")" ); return; }
File.listFilesメソッド
public File[] listFiles()
・指定ディレクトリ内のパス名の配列を返します。 パラメータ なし 戻り値 この抽象パス名が示すディレクトリ内のファイルを示す抽象パス名の配列を返します。 この抽象パス名がディレクトリを示さない場合、このメソッドはnullを返します。
030 031 032
// ファイルリストの表示 for ( int i = 0; i < files1.length; i ++ ) { File file = files1[ i ];
取得したリスト数だけfor文で繰り返し実行します。
033 034 035 036 037
// ファイル名か判定 if ( file.isFile() ) { // ファイル名を表示 System.out.println( "ファイル名 : " + file ); }
fileがファイル名かどうかを判定し、ファイル名であればprintlnメソッドでコンソール出力します。
File.isFileメソッド
public boolean isFile()
・普通のファイルかどうかを判定 パラメータ なし 戻り値 この抽象パス名が示すファイルが普通のファイルかどうかを判定します。
039 040 041 042 043
// ディレクトリ名か判定 if ( file.isDirectory() ) { //ディレクトリ名を表示 System.out.println( "ディレクトリ名 : " + file ); }
fileがフォルダ名かどうかを判定し、フォルダ名であればprintlnメソッドでコンソール出力します。
File.isDirectoryメソッド
public boolean isDirectory()
・ディレクトリかどうかを判定 パラメータ なし 戻り値 この抽象パス名が示すファイルがディレクトリであるかどうかを判定します。
以上です。
関連コンテンツ
ファイルは、データを取り扱うとき管理単位の一つで、ハードディスク、SSD,USBメモリ、CD/DVD/ブルーレイなどの記憶媒体に保存するときに使われます。詳しくは、記事をご覧ください。
2022.08.12