JavaA2Z

KAB-studio > プログラミング > JavaA2Z > Fileとは

File

日本語 書類
英語 file
ふりがな ふぁいる
フリガナ ファイル

解説

ファイルディレクトリを扱うためのクラス
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名java.io.File。
1インスタンスで1ファイルもしくは1ディレクトリを対象とし、そのファイルの作成、削除、リネーム等をうことができる。またディレクトリであればディレクトリ内のファイルを取得することもできる。

ファイルディレクトリパスの指定はコンストラクタう。その際、相対パス絶対パスも渡すことができる。また、ファイル名とディレクトリパスの連結もコンストラクタう。
一度格納したパスStringクラス同様、後で変更することはできない。つまりFileクラスの「インスタンスは不変」ということである。
また、そのパスが「存在しないパス」であっても例外等は投げられない。これは「存在しないパスでもこれから作る可能性がある」ためもあるが、それ以前に「Fileクラスパスという文字列を格納するクラス」という側面が大きいためでもある。
Fileクラスオブジェクト指向的に考えた場合には、「ファイルを示すクラス」ではなく「パスという文字列を格納するクラス」と考えた方がいいだろう。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
import java.io.File;
import java.io.IOException;

public class Sample
{
    public static void main( String[] args )
    {
        // 以下のディレクトリでjavaコマンドを実行したとします。
        // ・Windowsの場合
        // D:\Sample\test
        // ・UNIX系の場合
        // /Sample/test

        // カレントディレクトリにファイルを作ります。
        // Eclipseで実行する場合には、プロジェクトの
        // ディレクトリがカレントディレクトリになります。
        File aFile = new File( "a.txt" );
        try
        {
            aFile.createNewFile();
        }
        catch( IOException e )
        {
            // ファイルが作れなかったら例外が投げられます。
            e.printStackTrace();
        }

        // カレントディレクトリの絶対パスを取得します。
        String currentPath = System.getProperty( "user.dir" );

        // カレントディレクトリのファイル一覧を取得します。
        File dir = new File( currentPath );
        String[] filenames = dir.list();
        forint iF1 = 0; iF1 < filenames.length; ++iF1  )
        {
            System.out.println( filenames[iF1] );
        }
        // .classpath
        // .project
        // a.txt
        // bin
        // src

        // 注:当然上記は一例です。
        // ただ、先ほど作ったa.txtファイルは残っています。

        // インスタンスを作成したら、中のファイル名やパスは
        // 変更できません。

        // a.txtファイルを絶対パスで指す、Fileクラスの
        // インスタンスを作成します。
        File aAbsolutePath = new File( dir, aFile.getName() );
        System.out.println( aAbsolutePath.getAbsolutePath() );
        // ・Windowsでの実行結果
        // D:\Sample\test\a.txt
        // ・UNIX系での実行結果
        // /Sample/test/a.txt

        // ファイルを削除します。
        aAbsolutePath.delete();

        filenames = dir.list();
        forint iF1 = 0; iF1 < filenames.length; ++iF1  )
        {
            System.out.println( filenames[iF1] );
        }
        // .classpath
        // .project
        // bin
        // src

        // a.txtファイルがなくなりました。
    }
}
// Sample.java
import java.io.File;
import java.io.IOException;

public class Sample
{
    public static void main( String[] args )
    {
        // 以下のディレクトリでjavaコマンドを実行したとします。
        // ・Windowsの場合
        // D:\Sample\test
        // ・UNIX系の場合
        // /Sample/test

        // カレントディレクトリにファイルを作ります。
        // Eclipseで実行する場合には、プロジェクトの
        // ディレクトリがカレントディレクトリになります。
        File aFile = new File( "a.txt" );
        try
        {
            aFile.createNewFile();
        }
        catch( IOException e )
        {
            // ファイルが作れなかったら例外が投げられます。
            e.printStackTrace();
        }

        // カレントディレクトリの絶対パスを取得します。
        String currentPath = System.getProperty( "user.dir" );

        // カレントディレクトリのファイル一覧を取得します。
        File dir = new File( currentPath );
        String[] filenames = dir.list();
        for( int iF1 = 0; iF1 < filenames.length; ++iF1  )
        {
            System.out.println( filenames[iF1] );
        }
        // .classpath
        // .project
        // a.txt
        // bin
        // src

        // 注:当然上記は一例です。
        // ただ、先ほど作ったa.txtファイルは残っています。

        // インスタンスを作成したら、中のファイル名やパスは
        // 変更できません。

        // a.txtファイルを絶対パスで指す、Fileクラスの
        // インスタンスを作成します。
        File aAbsolutePath = new File( dir, aFile.getName() );
        System.out.println( aAbsolutePath.getAbsolutePath() );
        // ・Windowsでの実行結果
        // D:\Sample\test\a.txt
        // ・UNIX系での実行結果
        // /Sample/test/a.txt

        // ファイルを削除します。
        aAbsolutePath.delete();

        filenames = dir.list();
        for( int iF1 = 0; iF1 < filenames.length; ++iF1  )
        {
            System.out.println( filenames[iF1] );
        }
        // .classpath
        // .project
        // bin
        // src

        // a.txtファイルがなくなりました。
    }
}

この単語を含むページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2010/02/23
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。