springboot 如何读取resources下的文件
时间: 2023-09-09 21:08:51 浏览: 111
Spring Boot读取resources目录文件方法详解
在 Spring Boot 中,你可以使用 `ResourceLoader` 来读取 `resources` 目录下的文件。`ResourceLoader` 是一个接口,Spring Boot 提供了 `ResourceLoader` 的实现类 `DefaultResourceLoader`。
以下是读取 `resources` 目录下文件的示例代码:
```java
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.stereotype.Component;
@Component
public class MyFileReader {
private final ResourceLoader resourceLoader;
public MyFileReader(ResourceLoader resourceLoader) {
this.resourceLoader = resourceLoader;
}
public String readFile(String filePath) throws IOException {
Resource resource = resourceLoader.getResource("classpath:" + filePath);
InputStream inputStream = resource.getInputStream();
// 使用 inputStream 读取文件内容,这里可以根据具体需求进行处理
// 例如使用 BufferedReader 逐行读取文件内容
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder content = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
content.append(line).append("\n");
}
reader.close();
inputStream.close();
return content.toString();
}
}
```
在上面的示例代码中,我们通过 `resourceLoader.getResource("classpath:" + filePath)` 方法来获取 `resources` 目录下的文件资源。然后,我们可以使用获取到的 `Resource` 对象来获取文件的输入流,并进行文件读取操作。
请注意,上述代码中使用了 `ResourceLoader` 的实现类 `DefaultResourceLoader`。在 Spring Boot 中,你无需手动创建 `DefaultResourceLoader` 对象,而是通过依赖注入的方式获取 `ResourceLoader` 对象。
希望这个示例能帮助到你。如有更多问题,请随时提问。
阅读全文