Spring Boot 中使用 ResourceLoader 加载资源的完整示例
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.stereotype.Service;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
@Service
public class ResourceService {
private final ResourceLoader resourceLoader;
@Autowired
public ResourceService(ResourceLoader resourceLoader) {
this.resourceLoader = resourceLoader;
}
public String loadFileAsString(String filePath) throws IOException {
Resource resource = resourceLoader.getResource("classpath:" + filePath);
StringBuilder contentBuilder = new StringBuilder();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(resource.getInputStream(), StandardCharsets.UTF_8))) {
String line;
while ((line = reader.readLine()) != null) {
contentBuilder.append(line).append("\n");
}
}
return contentBuilder.toString();
}
}
这段代码定义了一个服务类ResourceService
,它使用ResourceLoader
来加载类路径下的资源文件,并将文件内容作为字符串返回。loadFileAsString
方法接受文件路径作为参数,使用ResourceLoader
获取资源,并且读取文件内容到StringBuilder
中,最后返回构建的字符串。这个例子展示了如何在Spring Boot应用中使用ResourceLoader
来方便地访问资源文件。
评论已关闭