[解決済み】リソースフォルダからファイルを読み込むには?
2022-03-27 04:20:45
質問
私のプロジェクトは以下のような構造になっています。
/src/main/java/
/src/main/resources/
/src/test/java/
/src/test/resources/
にあるファイルを
/src/test/resources/test.csv
にあるユニットテストからファイルをロードしたい。
/src/test/java/MyTest.java
私はこのコードを持っていますが、うまくいきませんでした。これは、"No such file or directory"を訴えます。
BufferedReader br = new BufferedReader (new FileReader(test.csv))
こんなこともやってみました
InputStream is = (InputStream) MyTest.class.getResourcesAsStream(test.csv))
これもうまくいきません。これは
null
. 私は私のプロジェクトを構築するためにMavenを使用しています。
どのように解決するのですか?
次をお試しください。
ClassLoader classloader = Thread.currentThread().getContextClassLoader();
InputStream is = classloader.getResourceAsStream("test.csv");
上記でうまくいかない場合、様々なプロジェクトで以下のようなクラスが追加されています。
ClassLoaderUtil
1
(コード
ここで
).
2
そのクラスがどのように使われているのか、いくつか例を挙げてみましょう。
<サブ srcmainjavacomcompanytestYourCallingClass.java srcmainjava.com ■■ClassLoaderUtil.java srcmainesources.csv
// java.net.URL
URL url = ClassLoaderUtil.getResource("test.csv", YourCallingClass.class);
Path path = Paths.get(url.toURI());
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
// java.io.InputStream
InputStream inputStream = ClassLoaderUtil.getResourceAsStream("test.csv", YourCallingClass.class);
InputStreamReader streamReader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
BufferedReader reader = new BufferedReader(streamReader);
for (String line; (line = reader.readLine()) != null;) {
// Process line
}
備考
関連
-
[解決済み] getContentPane()は具体的に何をするのですか?
-
[解決済み] javac ソースファイルが見つかりません
-
[解決済み] IntegerからBigIntegerへの変換
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] ファイルへの追記はどのように行うのですか?
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] IntelliJのインスペクションで「シンボルを解決できない」と表示されたが、コードはコンパイルされる
-
[解決済み] Mavenが実行するJUnitテストを見つけ出せない
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Java Genericメソッドをstaticにするには?
-
[解決済み] double 型を Int 型に変換、切り捨て
-
[解決済み] JAVA_OPTIONS、JAVA_TOOL_OPTIONS、JAVA_OPTSの違いについて
-
[解決済み] javaでAnnotation Inheritanceのようなものはあるのでしょうか?
-
[解決済み] どのように配列の10未満の値(x * 2)を倍増するコードを取得するには?(Java)
-
[解決済み] タイプの安全性。アンチェック・キャスト
-
[解決済み] 文字列の長さに応じて文字列をトリミングする
-
[解決済み] Maven: assembly-pluginが全く実行されない
-
[解決済み] Javaでdoubleをfloatに変換する
-
[解決済み] x--やx++はここで何をするのですか?