Javaで現在の作業ディレクトリ(カレントディレクトリ)を取得する方法
Javaで現在の作業ディレクトリ(カレントディレクトリ)を取得するにはどうすればよいのでしょうか。ここでいう「現在の作業ディレクトリ」とは、実行中のJavaプロジェクトのルートフォルダを指します。
Javaでは、Systemクラスが提供するシステムプロパティを利用することで、現在の作業ディレクトリを簡単に取得できます。使用するのは、以下のシステムプロパティ関数です。
String cwd = System.getProperty("user.dir");
"user.dir"というキーを指定してSystem.getProperty()メソッドを呼び出すと、JVMが起動されたディレクトリ(作業ディレクトリ)のパスが文字列として返されます。
Javaで現在の作業ディレクトリを取得するサンプルコード
実際に、現在の作業ディレクトリを取得してコンソールに出力する完全なサンプルコードを見てみましょう。
public class CurrentWorkingDirectory {
public static void main (String args[]) {
String cwd = System.getProperty("user.dir");
System.out.println("Current working directory : " + cwd);
}
}
実行結果
このプログラムを実行すると、以下のように現在の作業ディレクトリのパスが出力されます。
Current working directory: C:\workspace\Java4Testers
この例では、プロジェクトが C:\workspace\Java4Testers フォルダに配置されているため、そのパスが表示されています。環境によって出力されるパスは異なります。
注意点
user.dirの値は、JVMの起動時に決定されるため、プログラム実行中にカレントディレクトリを変更しても、このプロパティの値は自動的には更新されない場合があります。- IDE(EclipseやIntelliJ IDEAなど)から実行した場合と、コマンドラインから実行した場合では、作業ディレクトリが異なることがあるため注意が必要です。
- Javaでファイルに書き込む方法
- Javaでファイルを作成する方法
- Javaでプロパティファイルを読み込む方法
-
【Android】現在のスレッドIDを取得する方法を解説
本記事では、Androidアプリで現在実行中のスレッドIDを取得する方法を、サンプルコードとともに解説します。スレッドとは?例に入る前に、まず「スレッド」について簡単におさらいしておきましょう。スレッドとは、軽量なサブプロセス(処理の単位)のことであり、UIの動作を妨げることなくバックグラウンドで処理を実行するために使われます。メインスレッドとは別に動作させることで、画面の描画やユーザー操作をブロックせずに、重い処理を並行して行うことが可能になります。このサンプルでは、Thread.currentThread().getId() を呼び出すことで、現在実行中のスレッドIDを取得し、TextVi
-
Javaでディレクトリ内のjpgファイル一覧を取得する方法
FilenameFilterインターフェースを使った方法Fileクラスのlist(FilenameFilter filter)メソッドは、現在のFileオブジェクトが表すパスに存在するすべてのファイルおよびディレクトリの名前をString配列として返します。ただし、返される配列には、指定したフィルター条件を満たすファイル名のみが含まれます。FilenameFilterは、次の単一のメソッドを持つJavaのインターフェースです。accept(File dir, String name)拡張子に基づいてファイル名を取得したい場合は、このインターフェースを実装したクラスを作成し、そのインスタンスをF