spring boot读取resources下面txt文件
时间: 2023-07-27 07:21:31 浏览: 170
你可以使用`ResourceLoader`接口和`Resource`类来加载`resources`目录下的文件。下面是一个示例代码:
```java
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.stereotype.Component;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
@Component
public class TextFileReader {
private final ResourceLoader resourceLoader;
public TextFileReader(ResourceLoader resourceLoader) {
this.resourceLoader = resourceLoader;
}
public String readTextFile(String fileName) throws IOException {
Resource resource = new ClassPathResource(fileName);
BufferedReader reader = new BufferedReader(new InputStreamReader(resource.getInputStream()));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
}
reader.close();
return stringBuilder.toString();
}
}
```
在上面示例中,我们使用`ResourceLoader`接口和`ClassPathResource`类来加载`resources`目录下的文件。然后,我们使用`BufferedReader`类来读取文件内容,并将其存储在一个`StringBuilder`对象中。最后,我们返回该对象的字符串表示形式。在实际使用中,你可以通过注入`TextFileReader`类来读取`resources`目录下的文件,如下所示:
```java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
@SpringBootApplication
public class Application {
public static void main(String[] args) throws IOException {
ConfigurableApplicationContext context = SpringApplication.run(Application.class, args);
TextFileReader textFileReader = context.getBean(TextFileReader.class);
String content = textFileReader.readTextFile("textfile.txt");
System.out.println(content);
}
}
```
在上面示例中,我们注入了`TextFileReader`类,并通过调用`readTextFile`方法来读取文件内容。请注意,`textfile.txt`应该是位于`resources`目录下。
阅读全文