Java での相対ファイルへのアクセス: 「java.io.File Cannot Find the Path」エラーの解決
マルチパッケージ Java を使用する場合プロジェクトでは、相対パスからファイルにアクセスするときに問題が発生するのが一般的です。このような問題の 1 つは、「java.io.File が指定されたパスを見つけることができません」エラーです。このエラーは、File コンストラクターが指定されたファイル パスを見つけられない場合に発生します。
このエラーは通常、File オブジェクトをインスタンス化しようとしたときに発生します。
<code class="java">File file = new File("properties\files\ListStopWords.txt");</code>
のような相対パスを使用します。このシナリオでは、ファイルは、それにアクセスするクラスとは異なるパッケージ内にある可能性があります。相対パスがプロジェクト ディレクトリ構造内のファイルの物理的な場所に対応していない可能性があるため、混乱が生じる可能性があります。
この問題を解決するには、ディスク ファイル システムではなくクラスパスからファイルを取得することを検討してください。 。クラスで getResource() メソッドを使用すると、クラスパス内のファイルの場所を表す URL を取得できます。
<code class="java">URL url = getClass().getResource("ListStopWords.txt"); File file = new File(url.getPath());</code>
このアプローチにより、ファイルはプロジェクト内の相対位置に基づいて配置されます。現在の作業ディレクトリに関係なく。
さらに、ファイルへの InputStream のみが必要な場合は、getResourceAsStream():
<code class="java">InputStream input = getClass().getResourceAsStream("ListStopWords.txt");</code>
クラスパスを利用してクラスパスから直接取得できます。 -ベースのファイル アクセスを使用すると、あいまいな可能性がある相対パスに依存することを回避し、Java プロジェクト内のファイルへの信頼できるアクセスを確保できます。
以上がJava で相対ファイルにアクセスするときに発生する「java.io.File Cannot Find the Path」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。