Fileクラス
listメソッド
自身であるディレクトリに含まれるファイルとディレクトリのパスを返します。
list()
目次
1. listメソッド
自身であるディレクトリに含まれるファイルとディレクトリのパスを、String配列で返します。
ディレクトリ直下にあるファイルとディレクトリだけが対象です。
例外
- ファイルやディレクトリがない場合は null を返します。
- 自身であるディレクトリが存在しない場合も null を返します。
- 自身がファイルであった場合も null を返します。
なんか便利そうなメソッドっスね。
何に使えるか分からないっスけど。
存在するファイルやディレクトリに
一括で処理するのに便利だ。
うまくいかなかったら
とにかく null なのね。
2. サンプルコード
listメソッドで、parentディレクトリ内のファイルとディレクトリのリストを
String配列で取得します。
取得した値を拡張for文で表示してみました。
ご参照↓
第十章 配列
拡張for文(繰り返し)
//Sample10_01.java
import java.io.File;
class Sample10_01{
public static void main(String[] args){
File dir = new File("parent");
String[] strs = dir.list();
if(strs!=null){
for(String str : strs){
System.out.println(str);
}
}else{
System.out.println("null");
}
}
}
parentディレクトリの中を変えて
いろいろ試してみよう。
実行前
ws
|----Sample10_01.java
└----parent
|----file01.txt
|----file02.txt
└----child01
└----child02
コマンドライン
>cd ws
ws>javac Sample10_01.java
ws>java Sample10_01
child01
file01.txt
file02.txt
ws>
なるほど。
child02 は、直下でないから
含まれないんスね。
深い階層まで再帰的にリスト化したいなら、
listFilesメソッドの方がオススメだ。
次のページで listFilesメソッドを扱おう。
お疲れ様でした。