Java で相対パスからファイルを読み取る際の「パスが見つかりません」エラーへの対処
Java では、相対パスを介してファイルにアクセスすることができます。 java.io.File を使用する場合は注意が必要です。開発者は、クラスが配置されているパッケージ以外のパッケージからファイルにアクセスしようとすると、「システムが指定されたパスを見つけることができません」というエラーに遭遇することがよくあります。
この問題を解決するには、ファイルを取得することを強くお勧めします。相対パスに依存するのではなく、クラスパスから。クラスパスにはアプリケーションに必要なすべてのリソースが含まれており、getClass() メソッドを介して直接アクセスできます。
URL とパスを使用したファイルの取得
ファイルの場合FileLoader クラスと同じパッケージにある場合は、次のアプローチを使用できます。
<code class="java">URL url = getClass().getResource("ListStopWords.txt"); File file = new File(url.getPath());</code>
InputStream としてファイルにアクセスする
入力のみが必要な場合
<code class="java">InputStream input = getClass().getResourceAsStream("ListStopWords.txt");</code>
プロパティ ファイルの処理
ファイルがキーと値のペアを持つプロパティ ファイルの場合、次を使用できます。アプローチが推奨されます:
<code class="java">Properties properties = new Properties(); properties.load(getClass().getResourceAsStream("ListStopWords.txt"));</code>
静的コンテキストに関する注意
静的コンテキストからリソースにアクセスする場合は、上記の例の getClass() の代わりに FileLoader.class を使用してください。 .
これらの手法を採用することで、開発者は Java プロジェクトでパス関連のエラーが発生することなく、相対パスから効果的にファイルを取得できます。
以上がJava でファイルを読み取るときに発生する「パスが見つかりません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。