2013年11月5日火曜日

Fileオブジェクト(getName(), getParent())

ファイルを扱う場合によく使うオブジェクトです。
フォルダを作ったり、存在しているかの確認等してくれます。

Fileオブジェクトの生成  ファイルのパズを指定
File fFile = new File( "C:\\test\\test.txt");

ファイルのパスはurlでも、ローカルでもどちらでも大丈夫です。

簡単なFileオブジェクトの使い方

■ファイル名の取得
fFile.getName()
→test.txt

■親ディレクトリの取得
fFile.getParent()
→C:\test

■ファイルかの判定
fFile.isFile()
→true or false

仮にFileオブジェクトで指定したファイルの場合には、
ファイルが実在しないと、trueになりません。

■ファイルが存在するのかの判定
fFile.exists();


基本的なところはこんな感じです。

Fileオブジェクト生成時に指定するパスをディレクトリーにした場合
のサンプルです。

■生成
File fParent = new File( fFile.getParent() );

■ディレクトリを作成する
fParent.mkdir()
→true or false
1つ上の階層のディレクトリが作成されていないとfalseになります。

■ディレクトリを作成する
fParent.mkdirs()
→true or false
マジ神レベル!!
上の階層がなくても作ってくれます。
また、Fileオブジェクト作成時にファイルを指定すると、その名前の
ディレクトリが作成されます。


Fileオブジェクトは上の方で書いたようにサーバー上のファイルも使えるので、
サーバー上のファイルをローカルに保存する際に、
ファイルがあるか?ディレクトリがあるか?の判定で便利です。

■ディレクトリ内のファイルを取得
fParent.listFiles()
→File配列

ディレクトリ内のファイルが配列になって、返ってきます。

■ファイル名の変更
fParent.renameTo(new File ( 変更先のファイル名 ) )
→true or false

ファイル名の変更します。
コピーではないので、元ファイルは消えます。
Linuxで言うmvみたいなものです。move。
なので、ファイルを移動させるメソッドとして利用できます。

また、指定するファイルはフルパスで。。。


本日のまとめ
■サンプルソース
import java.io.File;


public class main{

    public static void main(String [] args) {
        //対象のファイル
        String sPath = "C:\\test\\test.txt";

        //ファイルシステムの作成
        File fFile = new File( sPath );

        //ファイル名の取得
        System.out.println( fFile.getName() );

        //親ディレクトリの取得
        System.out.println( fFile.getParent() );

        //ファイルかディレクトリかの判定
        System.out.println( fFile.isFile() );

        //親ディレクトリのファイルシステム作成
        File fParent = new File( fFile.getParent() );

        //親ディレクトリが存在していなかったら作成
        if ( !fParent.exists() )System.out.println( fParent.mkdirs() );
    }
}

0 件のコメント:

コメントを投稿