ホームページ >Java >&#&チュートリアル >Java プロジェクトで相対パスを使用するときに「指定されたパスが見つかりません」というエラーを回避するにはどうすればよいですか?
java.io.File を使用してファイルにアクセスしようとすると、「システムは指定されたパスが見つかりません」というエラーが発生する」、多くの場合、相対パスの問題が原因です。 Java では、相対パスは現在の作業ディレクトリに依存するため、Java コード内で制御するのは困難です。
解決策:
Java で相対パスを使用する代わりに。 io.File、クラスパスから直接ファイルを取得します。このメソッドにより、現在の作業ディレクトリに関係なく、ファイルが常にプロジェクト ディレクトリに相対的に配置されることが保証されます。
クラスパスからファイルを取得するには:
<code class="java">URL url = getClass().getResource("ListStopWords.txt"); File file = new File(url.getPath());</code>
このアプローチにより、プロジェクトが JAR ファイルにパッケージ化されているか、別の環境にデプロイされている場合でも、ファイルの場所はプロジェクト内で一貫しています。
代替入力ストリームの場合:
ファイルの入力ストリームのみが必要な場合は、次を使用できます:
<code class="java">InputStream input = getClass().getResourceAsStream("ListStopWords.txt");</code>
プロパティ ファイル:
ファイルがキーと値のペアを含むプロパティ ファイルの場合は、プロパティに直接ロードできます。 object:
<code class="java">Properties properties = new Properties(); properties.load(getClass().getResourceAsStream("ListStopWords.txt"));</code>
注:
静的コンテキスト内でファイルにアクセスする場合は、getClass() の代わりに YourClass.class を使用してください。
以上がJava プロジェクトで相対パスを使用するときに「指定されたパスが見つかりません」というエラーを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。