Fileクラス
existsメソッド
自身の抽象パス名が示すファイル、又はディレクトリが存在するか確かめます。
exists()
目次
1.existsメソッド
インスタンスの示す抽象パスが存在していれば true を返します。
2.ファイルの有無を確かめる
ようやくファイルらしいメソッドだ。
インスタンスを生成したら、
ファイルの存在を確かめよう。
オッケ~。
//Sample04_01.java
import java.io.File;
class Sample04_01{
public static void main(String[] args){
File file = new File("pathname.txt");
boolean find = file.exists();
System.out.println(find);
}
}
コマンドライン
>cd ws
ws>javac Sample04_01.java
ws>java Sample04_01
false
ご覧の通り。
見つからなかったな。
今度はワークディレクトリ(ここでは ws)に
「pathname.txt」というファイルを
作ってから実行してみよう。
ワークディレクトリ(ここでは ws)を開いて、「pathname.txt」というファイルを作成してみて下さい。
Sample04_01 の実行結果が変わることを確かめましょう。
pathname.txtの作成(Windows)
コマンドライン
ws>java Sample04_01
true
ちゃんと見つけたっスね。
この後は
ファイルの有無で
処理を分岐するのかしら?
そうそう!
そうゆう使い方だ。
冴えてるね~。
3.ディレクトリの有無を確かめる
今度はディレクトリで同じ実験をしてみましょう。
//Sample04_02.java
import java.io.File;
class Sample04_02{
public static void main(String[] args){
File file = new File("dir01");
boolean find = file.exists();
System.out.println(find);
}
}
これって抽象パス名が
ディレクトリっぽくなっただけでは?
その通り。
existsメソッドは
ファイルにもディレクトリにも使える。
コマンドライン
>cd ws
ws>javac Sample04_02.java
ws>java Sample04_02
false
ワークディレクトリ(ここでは ws)を開いて、「dir01」というディレクトリを作成してみて下さい。
Sample04_02 の実行結果が変わることを確かめましょう。
dir01 ディレクトリの作成(Windows)
コマンドライン
ws>java Sample04_02
true
ファイルの場合と
全く同じなのね。
これって不都合ないんスか?
確かに抽象パス名だけでは、それがファイルなのかディレクトリなのか区別はつきませんね。
Fileクラスは、抽象パス名のファイルを作ったり、ディレクトリを作ったり、
どちらもできるようになっています。
そんな感じだ。
お疲れ様でした。