このエントリーをはてなブックマークに追加


Javaでbasename, dirname

シェルスクリプトなどでよく使用する basename, dirname をJavaで実現するサンプルコードを以下に記します。

basename, dirnameのサンプルソース

サンプルソースは、basename(ファイル名取得)とdirname(ディレクトリ取得)のサンプルソースになります。

fileFileInfo.java UTF-8, LF

public class FileInfo {
	public static void Usage() {
		String me = new Object(){}.getClass().getEnclosingClass().getName();
		System.err.println("Usage: java " + me + "path/to/file");
	}
	public static void main(String args[]) {
		if (args.length != 1) {
			Usage();
			System.exit(1);
		}
		String filename, dirname, extension;
		File f = new File(args[0]);
		System.out.println("Path:   " + f.getPath());
		System.out.println("Parent(dirname): " + f.getParent());
		System.out.println("Name(basename):   " + f.getName());
	}
}

上記のソースは、ファイル名を引数で渡し、ディレクトリ部分とファイル名部分を分けて表示する動作になります。
getParentメソッドがdirname, getNameメソッドがbasenameに対応します。

実行させてみる

上記サンプルソースをコンパイルし、実際に動作させた時の出力です。

sakura@aspire:~$ javac FileInfo.java 
sakura@aspire:~$ echo $?
0
sakura@aspire:~$ java FileInfo 
Usage: java FileInfopath/to/file
sakura@aspire:~$ echo $?
1
sakura@aspire:~$ java FileInfo /path/to/file.txt
Path:   /path/to/file.txt
Parent(dirname): /path/to
Name(basename):   file.txt
sakura@aspire:~$ echo $?
0
sakura@aspire:~$ 

尚、動作環境はUbutnuを使用しました。

以上、Javaでbasename, dirnameと同等の操作をするFileクラスのメソッドについての説明でした、


添付ファイル: fileFileInfo.java 463件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-06-01 (木) 00:36:35