本文主要介紹了java(包括springboot)讀取resources下文件方式實現,分享給大家,具體如下:
1、使用項目內路徑讀取,該路徑只在開發工具中顯示,類似:src/main/resources/resource.properties。只能在開發工具中使用,部署之后無法讀取。(不通用)
1
|
File file = new File( "src/main/resources/resource.properties" ); |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
@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環境中無法讀取。(不通用)
1
2
|
File file = ResourceUtils.getFile( "classpath:resource.properties" ); FileInputStream fis = new FileInputStream(file); |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
@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,各種環境都能讀取。(通用)
1
2
|
Resource resource = new ClassPathResource( "resource.properties" ); InputStream is = resource.getInputStream(); |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
@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;類的注解。(通用)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
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(); } } |
到此這篇關于java(包括springboot)讀取resources下文件方式實現的文章就介紹到這了,更多相關java 讀取resources內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/whalesea/p/11677657.html