[解決済み] Javaプロジェクトで相対パスからファイルを読み込む方法 java.io.File が指定されたパスを見つけることができません。
質問
2つのパッケージからなるプロジェクトがあります。
-
tkorg.idrs.core.searchengines
-
tkorg.idrs.core.searchengines
パッケージ(2)に、テキストファイル
ListStopWords.txt
パッケージ (1) にはクラスがあります。
FileLoadder
. 以下はそのコードです。
FileLoader
:
File file = new File("properties\\files\\ListStopWords.txt");
しかし、このようなエラーが発生します。
The system cannot find the path specified
この問題を解決するための方法を教えてください。ありがとうございます。
解決方法を教えてください。
すでにクラスパスにある場合は、ディスクのファイルシステムからではなく、クラスパスから取得すればよい。で相対パスをいじってはいけません。
java.io.File
. これらはカレントワーキングディレクトリに依存し、Javaコードの内部からは全くコントロールすることができません。
と仮定すると
ListStopWords.txt
と同じパッケージで
FileLoader
クラスがある場合は、そうしてください。
URL url = getClass().getResource("ListStopWords.txt");
File file = new File(url.getPath());
あるいは、最終的に必要なのは実際に
InputStream
のことです。
InputStream input = getClass().getResourceAsStream("ListStopWords.txt");
を作成するよりも確実に好ましいです。
new File()
なぜなら
url
は必ずしもディスクファイルシステムのパスを表しているわけではなく、 仮想ファイルシステムのパス (JAR がディスクファイルシステムの temp フォルダではなくメモリに展開されたときに発生します) やネットワークパスも表す可能性があります。
File
コンストラクタを使用します。
パッケージ名が示唆するように、そのファイルが
実際に
は、完全な
プロパティファイル
(を含む
key=value
の行に、拡張子 "wrong" を追加するだけです。
InputStream
をすぐに
load()
メソッドを使用します。
Properties properties = new Properties();
properties.load(getClass().getResourceAsStream("ListStopWords.txt"));
注:内部からアクセスしようとする場合
static
コンテキストを使用します。
FileLoader.class
(または、どんな
YourClass.class
の代わりに
getClass()
のような、"left "と "left "が混在しているような場合。
関連
-
[解決済み] 一部の入力ファイルが非推奨のAPIを使用またはオーバーライドしている
-
[解決済み] Androidのコールバックとは何ですか?重複
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] Javaの「for each」ループはどのように機能するのですか?
-
[解決済み] 他のファイルから関数を呼び出す?
-
[解決済み] 現在実行中のファイルのパスと名前を取得するにはどうしたらいいですか?
-
[解決済み] Javaでクラスパスからテキストファイルを本当に読み込む方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] maven. -source 1.5ではラムダ式がサポートされていません。
-
[解決済み] 環境変数JAVA_OPTSの使い方を教えてください。
-
[解決済み] Javaでのスキャナが動作しない
-
[解決済み] javax.mail.MessagingException: SMTPホストに接続できませんでしたか?
-
[解決済み] 親から継承したメソッドの可視性を下げることができない [重複]。
-
[解決済み] 1行目2列目でBEGIN_ARRAYを期待したが、BEGIN_OBJECTだった。
-
[解決済み] Apache Camelのログに簡単なテキストを記録する
-
[解決済み] 文字列が一意な文字であるかどうかを判定する
-
[解決済み] SubclipseとJavaHLのインストールで頭を悩ます
-
[解決済み] .lengthが解決できない、またはフィールドでない