InputStream inputStream = new FileInputStream(new File(this.getClass().getResource("/example.txt").getFile()))
この方法では、 "/.../.../...jar!/example.txt(そのようなファイルまたはディレクトリはありません)"のようなエラーが発生します。getResource経由でjarにパッケージ化されたファイルのファイル入力ストリームを開くのはなぜですか?
InputStream inputStream = getClass().getResourceAsStream("/example.txt")
このメソッドは正しく実行されます。
この2つの方法の違いは何ですか?なぜ最初の方法がうまくいかないのですか?
このリンクを確認してください。http://stackoverflow.com/questions/14089146/file-loading-by-getclass-getresource多分これがあなたを助けるでしょう。 – CrazyJavaLearner
良い答え。それが私のパズルを解決しました。ありがとうございました。 – formath
"あなたのアプリケーションをjarファイルにパッケージ化したり、ネットワーク経由でクラスを読み込んだら、アプリケーションは動作しません。私はこれがうまくいかないことを知っていますが、なぜ働かないのかまだ分かりません。もっと説明できますか? @ダラニ – formath