spring项目,外部文件读取

spring,文件读取

spring内置了不错的文件读取工具类,下面讲一下其用法

1.读取classpath下文件

文件路径以classpath:开头,这种方式可以读取resources文件夹下的资源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

public static void main(String[] args) throws IOException {
String filePath = "classpath:aa.properties";
org.springframework.core.io.Resource resource = new FileSystemResourceLoader().getResource(filePath);

System.out.println(resource.exists());
System.out.println(resource.getInputStream());
}

```


## 2.读取项目相对路径下的文件

路径直接写相对路径即可,相对于项目执行路径

```java
public static void main(String[] args) throws IOException {
String filePath = "./1.txt";
org.springframework.core.io.Resource resource = new FileSystemResourceLoader().getResource(filePath);

System.out.println(resource.exists());
System.out.println(resource.getInputStream());
}

3.读取绝对路径下的文件

读取绝对路径时,路径以file:开头,下面两个示例分别是window和linux的操作方式

1
2
3
4
5
6
7
8
public static void main(String[] args) throws IOException {
String filePath = "file:D:\\test\\1.txt";
org.springframework.core.io.Resource resource = new FileSystemResourceLoader().getResource(filePath);

System.out.println(resource.exists());
System.out.println(resource.getInputStream());
}

1
2
3
4
5
6
7
8
public static void main(String[] args) throws IOException {
String filePath = "file:/home/java/1.txt";
org.springframework.core.io.Resource resource = new FileSystemResourceLoader().getResource(filePath);

System.out.println(resource.exists());
System.out.println(resource.getInputStream());
}

注意

读取到的Resource类上存在一个 resource.getFile(),方法,此方法会将路径转成File,但是有些打包到jar内部的文件无法转成File,会报错,所以建议使用resource.getInputStream()转成流的方式读取文件内容。


spring项目,外部文件读取
https://www.huangchaoyu.com/1679439756.html
作者
hcy
发布于
2021年6月28日
更新于
2024年8月17日
许可协议