ホームページ >Java >&#&チュートリアル >Java プロジェクトで相対パスを使用するときに「指定されたパスが見つかりません」というエラーを回避するにはどうすればよいですか?

Java プロジェクトで相対パスを使用するときに「指定されたパスが見つかりません」というエラーを回避するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-03 10:04:02457ブラウズ

How Can I Avoid

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。