Mul*_*ard 18 java filenotfoundexception maven
我在src/main/resources下的maven项目中放置了一个文件,文件名只是temp.txt.
当我尝试打开文件时:
BufferedReader br = new BufferedReader(new FileReader(new File("./temp.txt")));
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
Exception in thread "main" java.io.FileNotFoundException: \temp.txt
Run Code Online (Sandbox Code Playgroud)
src/main/resources下的所有文件都放在maven下的classpath的根文件夹中.那么为什么程序无法在这里找到文件呢?
Pau*_*tha 22
如果要将文件打包在类路径中,则从类路径中读取它.
Maven结构
src
main
resources
file.txt
Run Code Online (Sandbox Code Playgroud)
构建之后,文件将放置在类路径的根目录中.所以使用
InputStream is = getClass().getResourceAsStream("/file.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
Run Code Online (Sandbox Code Playgroud)
在/前面的file.txt将带您到根,无论从任何包装类是英寸
UPDATE
测试示例
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);
}
}
}
Run Code Online (Sandbox Code Playgroud)


小智 5
只需将此作为您的路径:
BufferedReader br = new BufferedReader(new FileReader(new
File("src/main/resources/temp.txt")));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36700 次 |
| 最近记录: |