ファイルのパスの取得

広告

ファイルのディレクトリの位置まで含めたファイルの名前を取得してみましょう。前のページで使った"getName"メソッドはファイルの名前だけを取得できました。Fileクラスで用意されている"getAbsolutePath"メソッドは絶対パスによるファイルの位置と名前を取得できます。

この抽象パス名の絶対パス名文字列を返します。

この抽象パス名がすでに絶対である場合、パス名文字列は getPath() メソッドのように簡単に返さ
れます。この抽象パス名が空の抽象パス名の場合、現在のユーザディレクトリ (システムプロパティ
 user.dir で示される) のパス名文字列が返されます。そうでない場合、このパス名はシステムに依
存する方法で解決されます。UNIX システムの場合、相対パス名は現在のユーザディレクトリを基準
に解決することで絶対になります。Microsoft Windowsシステムの場合、相対パス名はパス名で示さ
れたドライブの現在のディレクトリがある場合は、それを基準に解決することで絶対になります。な
い場合は、現在のユーザディレクトリを基準に解決されます。

戻り値:
  この抽象パス名と同じファイルまたはディレクトリを示す絶対パス名文字列
例外: 
  SecurityException - 必須のシステムプロパティの値にアクセスできない場合

このメソッドを実行すると絶対パスによるファイルの情報を取得できます。

サンプルプログラム

では簡単なサンプルで試してみます。「C:¥tmp」ディレクトリに「test.txt」という名前のファイルを用意します。そしてJavaのサンプルプログラムも同じディレクトリに設置し、相対パスで指定した「test.txt」からFileクラスのオブジェクトを作成し、絶対パスでの位置と名前を取得してみましょう。

fileTest3.java

import java.io.File;

class fileTest3{
  public static void main(String args[]){
    File file = new File("test.txt");
    String path = file.getAbsolutePath();

    System.out.println("File:" + path);
  }
}

上記をコンパイルして実際に実行してみると下記のようになります。

p4

( Written by Tatsuo Ikura )