import java.io.InputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.file.Files;
import java.nio.file.Paths;
public class ResourceReader {
// 读取resources目录下的文件内容
public static void main(String[] args) {
try {
// 方式1:使用 ClassLoader 获取资源文件的输入流
InputStream inputStream = ResourceReader.class.getClassLoader().getResourceAsStream("example.txt");
if (inputStream != null) {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} else {
System.out.println("文件未找到!");
}
// 方式2:使用 Class.getResource() 获取资源文件路径
String filePath = ResourceReader.class.getResource("/example.txt").getPath();
Files.lines(Paths.get(filePath)).forEach(System.out::println);
} catch (Exception e) {
e.printStackTrace();
}
}
}
方式1:使用 ClassLoader
获取资源文件的输入流
ResourceReader.class.getClassLoader().getResourceAsStream("example.txt")
:通过类加载器获取资源文件的输入流。这里的 "example.txt"
是相对于 resources
目录的路径。BufferedReader
逐行读取文件内容并打印到控制台;如果文件不存在,会输出 "文件未找到!"。方式2:使用 Class.getResource()
获取资源文件路径
ResourceReader.class.getResource("/example.txt").getPath()
:通过 Class.getResource()
方法获取资源文件的 URL,并转换为文件路径。Files.lines()
读取文件内容并逐行打印。这两种方式都可以读取 resources
目录下的文件,具体选择哪种方式取决于你的项目结构和需求。
上一篇:java编译命令
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站