文件系统是我们开发过程中常常会接触的问题。那么在Spring Boot框架中,文件的访问又是什么样的呢?今天在此做一个总结。
1,file和classpath
存放在电脑上实际位置的文件,在Spring Boot中用file:开头表示。例如:
file:a.txt 当前目录下的a.txt文件。当前路径在开发环境下一般为Maven项目的目录下(与pom.xml同目录下),在打包为jar文件后当前路径即为运行jar文件时的运行路径。
file:D:\a.txt 表示绝对路径,在此不多赘述。
而在jar文件内部中,我们一般把文件路径称为classpath,所以读取内部的文件就是从classpath内读取,classpath指定的文件不能解析成File对象,但是可以解析成InputStream。例如:
classpath:/a.txt jar包根目录下的a.txt。
classpath以/开头表示绝对路径,即为jar包根目录。
2,Spring Boot的静态资源访问
我们都知道Spring工程文件夹中的src\main\resources是用于存放资源的地方。默认时Spring打包之后静态资源位置如下:
- classpath:/static
- classpath:/public
- classpath:/resources
- classpath:/META-INF/resources
在Spring中