java(包括springboot)读取resources下文件方式实现

作者:抄手砚 时间:2021-06-03 20:16:06 

本文主要介绍了java(包括springboot)读取resources下文件方式实现,分享给大家,具体如下:

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
  • asp之家 软件编程 m.aspxhome.com