gpt4 book ai didi

java - src/main/resources 中的 FileNotFoundException

转载 作者:太空狗 更新时间:2023-10-29 22:39:28 29 4
gpt4 key购买 nike

我在我的 maven 项目中放置了一个文件在 src/main/resources 下文件名只是 temp.txt。

当我尝试打开文件时:

BufferedReader br = new BufferedReader(new FileReader(new File("./temp.txt")));

我得到一个错误:

Exception in thread "main" java.io.FileNotFoundException: \temp.txt

src/main/resources下的所有文件都放在根目录下maven下的类路径。那么为什么程序不能在这里找到文件呢?

最佳答案

如果您要将文件打包到类路径中,那么就这样从类路径中读取它。

Maven结构

src
main
resources
file.txt

构建后,文件被放置在类路径的根目录中。所以用

InputStream is = getClass().getResourceAsStream("/file.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));

file.txt 前面的 / 会将您带到根目录,无论类在哪个包中。


更新

测试例子

package com.underdogdevs.stackoverflow;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class TestResourceFile {

public static void main(String[] args) throws IOException {
InputStream is = TestResourceFile.class.getResourceAsStream("/test.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}
}

enter image description here

enter image description here

关于java - src/main/resources 中的 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23547488/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com