springboot 读取根目录下文件
时间: 2023-07-09 21:54:17 浏览: 254
在Spring Boot中,可以使用`ResourceLoader`来加载根目录下的文件。以下是一些常见的方法:
1. 通过`ResourceLoader`加载文件
```java
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.nio.file.Files;
import java.nio.file.Paths;
@Component
public class MyComponent {
private final ResourceLoader resourceLoader;
public MyComponent(ResourceLoader resourceLoader) {
this.resourceLoader = resourceLoader;
}
@PostConstruct
public void init() throws Exception {
Resource resource = resourceLoader.getResource("classpath:myfile.txt");
byte[] contents = Files.readAllBytes(Paths.get(resource.getURI()));
System.out.println(new String(contents));
}
}
```
2. 通过`ClassPathResource`加载文件
```java
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.nio.file.Files;
import java.nio.file.Paths;
@Component
public class MyComponent {
@PostConstruct
public void init() throws Exception {
ClassPathResource resource = new ClassPathResource("myfile.txt");
byte[] contents = Files.readAllBytes(Paths.get(resource.getURI()));
System.out.println(new String(contents));
}
}
```
以上代码中,第一个例子是通过`ResourceLoader`加载文件,第二个例子是通过`ClassPathResource`加载文件。注意,文件路径中的`classpath:`前缀表示文件在类路径下。如果文件不在类路径下,可以使用`file:`前缀来指定绝对路径。
阅读全文