软件编程
位置:首页>> 软件编程>> java编程>> java(包括springboot)读取resources下文件方式实现

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

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

标签:java,读取,resources

本文主要介绍了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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com