このトピックには多くの混乱があります。いくつかの質問がありました。物事はまだ不明確に見えます。ClassLoader、絶対ファイルパスなど
プロジェクトディレクトリ構造が次のようになっているとします。
私のプロジェクト - --dist --lib --src - テスト
「lib/txt」ディレクトリに「txtfile.txt」というリソースがあります。システムに依存しない方法でアクセスしたい。プロジェクトの絶対パスが必要です。したがって、パスをabspath + "/ lib / Dictionary/txtfile.txt"としてコーディングできます。
私がこれをするとします
java.io.File file = new java.io.File(""); //Dummy file
String abspath=file.getAbsolutePath();
必ずしもプロジェクトルートではない現在の作業ディレクトリを取得します。
「lib/txt/txtfile.txt」ディレクトリ構造とリソースも含む「dist」フォルダから最後の「prj.jar」を実行するとします。これもここで機能するはずです。distフォルダの絶対パスが必要です。
問題が明確であることを願っています。