/*****************************************/ /* 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)
ex) java -classpath .;C:\windows\temp test license.txt
Jarファイルに入れる必要が無い分、手軽に使えると思います。
ただ、クラスパス中に同一ファイル名でファイルが存在した場合は、
ちょっとハマりそうかも。