相対パスの組み合わせを使用して、javaのarrayListに.txtファイルをロードしようとしています。 私のjarファイルは/usr/tool/dist/tool.jar に私がロードするファイルである私は私のパスを取得することができたと思います/usr/tool/files/file.txtアプリケーションの.jarファイルと同じディレクトリにあるファイルを開く方法は?
でありますtool.jar、しかし、私はそのパスから私のファイルがあるものに行くことができますか?
私は実行されているあなたのjar
ファイルのパスを見つけるには、次のコード
// String path should give me '/usr/tool'
File f = new File(System.getProperty("java.class.path"));
File dir = f.getAbsoluteFile().getParentFile();
String path = dir.toString();
String table1 = this should represent /usr/tool/files/file.txt
BufferedReader buf_table1 = new BufferedReader(new FileReader(new File(table1)));
をあなたはそれが(言うようにあなたが 'のSystem.out.println(パス)をテストする必要があります' PATH'は '' "は/ usr /ツール" である場合; 'と追加しますか?結果をあなたの質問に)。なぜ、 'table1 = path +" /files/file.txt "'のようなものを書いてみませんか? – Alden
CLASSPATHはファイルではありません。これは、.classファイルが存在するディレクトリと.jarファイルのリストです。あなたが何を求めているのか不明です。 – EJP