java(包括springboot)读取resources下文件方式实现
作者:抄手砚 时间:2021-06-03 20:16:06
本文主要介绍了java(包括springboot)读取resources下文件方式实现,分享给大家,具体如下:
1、使用项目内路径读取,该路径只在开发工具中显示,类似:src/main/resources/resource.properties。只能在开发工具中使用,部署之后无法读取。(不通用)
File file = new File("src/main/resources/resource.properties");
@Test
public void testReadFile2() throws IOException {
File file = new File("src/main/resources/resource.properties");
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String data = null;
while((data = br.readLine()) != null) {
System.out.println(data);
}
br.close();
isr.close();
fis.close();
}
2、使用org.springframework.util.ResourceUtils,读取。在linux环境中无法读取。(不通用)
File file = ResourceUtils.getFile("classpath:resource.properties");
FileInputStream fis = new FileInputStream(file);
@Test
public void testReadFile3() throws IOException {
File file = ResourceUtils.getFile("classpath:resource.properties");
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String data = null;
while((data = br.readLine()) != null) {
System.out.println(data);
}
br.close();
isr.close();
fis.close();
}
3、使用org.springframework.core.io.ClassPathResource,各种环境都能读取。(通用)
Resource resource = new ClassPathResource("resource.properties");
InputStream is = resource.getInputStream();
@Test
public void testReadFile() throws IOException {
// ClassPathResource classPathResource = new ClassPathResource("resource.properties");
Resource resource = new ClassPathResource("resource.properties");
InputStream is = resource.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String data = null;
while((data = br.readLine()) != null) {
System.out.println(data);
}
br.close();
isr.close();
is.close();
}
4、结合spring注解,使用org.springframework.core.io.ResourceLoader;类的注解。(通用)
package com.tsinkai.ettp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class EttpCustomApplicationTests {
@Autowired
ResourceLoader resourceLoader;
@Test
public void testReaderFile() throws IOException {
Resource resource = resourceLoader.getResource("classpath:resource.properties");
InputStream is = resource.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String data = null;
while((data = br.readLine()) != null) {
System.out.println(data);
}
br.close();
isr.close();
is.close();
}
}
来源:https://www.cnblogs.com/whalesea/p/11677657.html
标签:java,读取,resources
0
投稿
猜你喜欢
java开发微信分享接口的步骤
2021-08-22 12:30:59
Springboot如何使用filter对request body参数进行校验
2023-09-14 05:28:46
Java数据结构之基于比较的排序算法基本原理及具体实现
2022-05-16 08:41:53
C#全局热键设置与窗体热键设置实例
2022-09-30 05:38:52
Android中volley封装实践记录
2021-07-05 19:55:03
npoi2.0将datatable对象转换为excel2007示例
2021-07-15 12:47:30
基于Java随机生成手机短信验证码的实例代码
2023-12-22 02:50:49
Tornadofx学习笔记之IconTextFx开源库整合5000+个字体图标
2023-06-07 12:18:04
c++难以发现的bug(有趣)
2022-01-27 17:01:41
C#中WinForm程序退出方法技巧总结
2022-01-03 12:42:21
java实现MD5加密的方法小结
2022-02-26 20:01:47
44条Java代码优化建议
2023-12-22 06:03:49
Android实现图片拖拉功能
2023-03-27 14:57:51
通过WIFI(不用数据线)连接Android手机调试
2023-01-05 18:20:45
Java for循环标签跳转到指定位置的示例详解
2022-10-04 17:52:31
Java零基础入门数组
2023-05-21 00:09:16
java控制台输出图书馆管理系统
2022-06-13 01:29:29
C#中反射和扩展方法如何运用
2023-08-02 01:43:16
Java 存储模型和共享对象详解
2023-11-16 14:48:46
浅谈Java代码的 微信长链转短链接口使用 post 请求封装Json(实例)
2023-07-27 19:36:09