Java での相対パスからのファイルの読み取り: 「パスが見つかりません」問題の解決
Java で、java を使用して相対パス経由でファイルにアクセスする.io.File では、「システムは指定されたパスが見つかりません。」というエラーが発生することがあります。これは、異なるパッケージまたは JAR にあるファイルを処理するときに発生する可能性があります。この問題を解決するには、別のアプローチが必要です。
解決策 1: クラスパス経由でファイルにアクセスする
ファイルで相対パスを使用する代わりに、次の場所からファイルを取得することをお勧めします。クラスパス。これにより、現在の作業ディレクトリからの独立性が確保されます。ファイルが、それにアクセスするクラスと同じパッケージ内にあると仮定すると、次のコードを使用できます。
<code class="java">URL url = getClass().getResource("ListStopWords.txt"); File file = new File(url.getPath());</code>
解決策 2: InputStream を使用する
必要な場合その結果、ファイルの InputStream が取得されます。クラスパスから直接アクセスする方が効率的です。
<code class="java">InputStream input = getClass().getResourceAsStream("ListStopWords.txt");</code>
プロパティ ファイルに関する考慮事項
ファイルがプロパティ ファイル (キーと値のペアを含む) を使用すると、InputStream を使用してプロパティを直接読み込むことができます。
<code class="java">Properties properties = new Properties(); properties.load(getClass().getResourceAsStream("ListStopWords.txt"));</code>
静的コンテキストに関する注意
ファイルにアクセスするとき静的コンテキストから、上記のコード例の getClass() を YourClass.class または FileLoader.class に置き換えます。
これらの手法を採用することで、Java の相対パスからのファイルへのアクセスを確実に実行でき、「パス」を回避できます。 Not Found」エラーを解決し、アプリケーションが現在の作業ディレクトリから独立していることを確認します。
以上がJava で相対パスを持つファイルを読み取るときに「パスが見つかりません」エラーを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。