相対パス
日本語 | 相対経路 |
英語 | relative path |
ふりがな | そうたいぱす |
フリガナ | ソウタイパス |
あるディレクトリを基準として書かれたパス。
特定のディレクトリから、特定のファイルへとたどる経路が書かれたパスのこと。
「基準」となるディレクトリには、多くの場合カレントディレクトリが使用されるが、場合によっては異なる場合もある。
カレントディレクトリを基準とする場合、カレントディレクトリ下のディレクトリ構成さえ正しければいいため、クラスファイルの置かれたディレクトリやプロジェクトのディレクトリを移動しても影響を受けないというメリットがあるが、逆にそれらの環境に左右されることにもなる。
Javaの場合、相対パスは主にFileクラスのコンストラクタに渡して指定する。
カレントディレクトリと相対パスの組み合わせから絶対パスを取得する場合にはgetAbsoluteFile()メソッドもしくはgetAbsolutePath()メソッドを使用する。前者はFileクラスを、後者はStringクラスを返す。
特定のディレクトリから、特定のファイルへとたどる経路が書かれたパスのこと。
「基準」となるディレクトリには、多くの場合カレントディレクトリが使用されるが、場合によっては異なる場合もある。
カレントディレクトリを基準とする場合、カレントディレクトリ下のディレクトリ構成さえ正しければいいため、クラスファイルの置かれたディレクトリやプロジェクトのディレクトリを移動しても影響を受けないというメリットがあるが、逆にそれらの環境に左右されることにもなる。
Javaの場合、相対パスは主にFileクラスのコンストラクタに渡して指定する。
カレントディレクトリと相対パスの組み合わせから絶対パスを取得する場合にはgetAbsoluteFile()メソッドもしくはgetAbsolutePath()メソッドを使用する。前者はFileクラスを、後者はStringクラスを返す。
参考サイト
// Sample.java
import java.io.File;
public class Sample
{
public static void main( String[] args )
{
// カレントディレクトリからの相対パスで指定します。
File file = new File( "./src/Sample.java" );
System.out.println( file.exists() );
// true
// 相対パスから絶対パスを取得する場合にはgetAbsolutePath()メソッドを使用します。
// ただし、パスが完全に解決されるわけではありませんが。
System.out.println( file.getAbsolutePath() );
// D:\Highway\Programing\Servlet\JavaA2ZConsole\Data\Sample\.\src\Sample.java
// 「.」がなくても基本的にはカレントディレクトリが基準になります。
file = new File( "src/Sample.java" );
System.out.println( file.exists() );
// true
// 渡されたパスが絶対パスか相対パスかはisAbsolute()メソッドで取得できます。
System.out.println( new File( "D:/Sample/src/Sample.java" ).isAbsolute() );
System.out.println( new File( "Sample.java" ).isAbsolute() );
// true
// false
}
}
import java.io.File;
public class Sample
{
public static void main( String[] args )
{
// カレントディレクトリからの相対パスで指定します。
File file = new File( "./src/Sample.java" );
System.out.println( file.exists() );
// true
// 相対パスから絶対パスを取得する場合にはgetAbsolutePath()メソッドを使用します。
// ただし、パスが完全に解決されるわけではありませんが。
System.out.println( file.getAbsolutePath() );
// D:\Highway\Programing\Servlet\JavaA2ZConsole\Data\Sample\.\src\Sample.java
// 「.」がなくても基本的にはカレントディレクトリが基準になります。
file = new File( "src/Sample.java" );
System.out.println( file.exists() );
// true
// 渡されたパスが絶対パスか相対パスかはisAbsolute()メソッドで取得できます。
System.out.println( new File( "D:/Sample/src/Sample.java" ).isAbsolute() );
System.out.println( new File( "Sample.java" ).isAbsolute() );
// true
// false
}
}
// Sample.java import java.io.File; public class Sample { public static void main( String[] args ) { // カレントディレクトリからの相対パスで指定します。 File file = new File( "./src/Sample.java" ); System.out.println( file.exists() ); // true // 相対パスから絶対パスを取得する場合にはgetAbsolutePath()メソッドを使用します。 // ただし、パスが完全に解決されるわけではありませんが。 System.out.println( file.getAbsolutePath() ); // D:\Highway\Programing\Servlet\JavaA2ZConsole\Data\Sample\.\src\Sample.java // 「.」がなくても基本的にはカレントディレクトリが基準になります。 file = new File( "src/Sample.java" ); System.out.println( file.exists() ); // true // 渡されたパスが絶対パスか相対パスかはisAbsolute()メソッドで取得できます。 System.out.println( new File( "D:/Sample/src/Sample.java" ).isAbsolute() ); System.out.println( new File( "Sample.java" ).isAbsolute() ); // true // false } }