java.lang.ClassLoader

目的
位置に依存しない方法でファイルを取得する。
(クラスパス上にあるファイルを、物理パスを記述せずに取得する。)

関連クラス

今回のソース
/*****************************************/
/*     getResourceを使ったバージョン     */
/*****************************************/

import java.io.*;
import java.net.URL;

public class test
{
	// 例外処理は、全くいい加減です(T_T)
	public static void main(String[] args) throws Exception
	{
		// クラスローダの取得。
		ClassLoader cl = ClassLoader.getSystemClassLoader();

		// プログラム第一引数に指定された名前のファイルを、クラスパスより探す。
		URL url = cl.getResource(args[0]);

		// ファイルが見つからなかった場合は、urlはnullになる。
		if(url == null)
		{
			throw new FileNotFoundException(args[0] + "は見つかりません。");
		}

		// ファイルが見つかった場合は、表示してみる。
		File file = new File(url.getFile());
		BufferedReader reader = new BufferedReader(new FileReader(file));

		String buf;
		while((buf = reader.readLine()) != null)
		{
			System.out.println(buf);
		}

		// 後始末
		reader.close();
	}
}

/*****************************************/
/* getResourceAsStreamを使ったバージョン */
/*****************************************/

import java.io.*;
import java.net.URL;

public class test2
{
	// 例外処理は、やっぱりいい加減です(T_T)
	public static void main(String[] args) throws Exception
	{
		// クラスローダの取得。
		ClassLoader cl = ClassLoader.getSystemClassLoader();

		// プログラム第一引数に指定された名前のファイルを、クラスパスより探す。
		InputStream iStream = cl.getResourceAsStream(args[0]);

		// ファイルが見つからなかった場合は、iStreamはnullになる。
		if(iStream == null)
		{
			throw new FileNotFoundException(args[0] + "は見つかりません。");
		}

		// ファイルが見つかった場合は、表示してみる。
		BufferedReader reader = new BufferedReader(new InputStreamReader(iStream));

		String buf;
		while((buf = reader.readLine()) != null)
		{
			System.out.println(buf);
		}

		// 後始末
		reader.close();
	}
}
Source is here. (ZIP Format, 1240Byte, Shift-JIS)

コンパイル&実行
javac test.java
java -classpath .;<適当なパス> test <適当なファイル>

ex) java -classpath .;C:\windows\temp test license.txt

説明
(概略)

故poolmanで、設定ファイル(poolman.xml)をクラスパスに追加するっていう、
インストール作業があったので、気になって調べてみたら、なんてことない仕組みでした。

Jarファイルに入れる必要が無い分、手軽に使えると思います。
ただ、クラスパス中に同一ファイル名でファイルが存在した場合は、
ちょっとハマりそうかも。