下面是关于"Java(springboot) 读取txt文本内容代码实例"的完整攻略:
1. 准备工作
在开始实际操作之前,请确保你已经按照以下步骤准备就绪:
- 已安装好springboot
- 已经找到要读取的txt文件,并将其放置于项目的资源文件夹中
2. 代码实现
2.1. 读取文件内容到String
import org.springframework.core.io.ClassPathResource;
import org.springframework.util.FileCopyUtils;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
public class FileUtil {
/**
* 获取资源文件中的txt文件内容到字符串中
*
* @param filePath 资源文件路径,如:/xxx.txt
* @return 文件内容字符串
* @throws IOException
*/
public static String getFileContent(String filePath) throws IOException {
ClassPathResource resource = new ClassPathResource(filePath);
InputStream inputStream = resource.getInputStream();
byte[] bdata = FileCopyUtils.copyToByteArray(inputStream);
return new String(bdata, StandardCharsets.UTF_8);
}
}
其中,getFileContent 方法接收文件路径作为参数,通过 ClassPathResource 获取文件输入流 InputStream,再通过 InputStream 获取文件字节流数据,最后通过字节流构建字符串返回。
2.2. 读取文件内容到List
import org.springframework.core.io.ClassPathResource;
import org.springframework.util.FileCopyUtils;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
public class FileUtil {
/**
* 获取资源文件中的txt文件内容到List<String>中
*
* @param filePath 资源文件路径,如:/xxx.txt
* @return 文件内容字符串
* @throws IOException
*/
public static List<String> getFileContentByLine(String filePath) throws IOException {
ClassPathResource resource = new ClassPathResource(filePath);
InputStream inputStream = resource.getInputStream();
List<String> contents = new ArrayList<>();
byte[] bdata = FileCopyUtils.copyToByteArray(inputStream);
String text = new String(bdata, StandardCharsets.UTF_8).trim();
String[] lines = text.split("\n");
for (String line : lines) {
contents.add(line.trim());
}
return contents;
}
}
其中 getFileContentByLine 方法将读取文件内容后通过换行符 "\n" 分割为多行,再将每行内容放入一个新的 List
3. 使用示例
假设我们有一个文件 example.txt,内容如下:
This is line 1.
This is line 2.
This is line 3.
3.1. 读取文件内容到String
import java.io.IOException;
public class DemoApplication {
public static void main(String[] args) throws IOException {
String content = FileUtil.getFileContent("/example.txt");
System.out.println(content);
}
}
输出结果如下:
This is line 1.
This is line 2.
This is line 3.
3.2. 读取文件内容到List
import java.io.IOException;
import java.util.List;
public class DemoApplication {
public static void main(String[] args) throws IOException {
List<String> contents = FileUtil.getFileContentByLine("/example.txt");
for (String content : contents) {
System.out.println(content);
}
}
}
输出结果如下:
This is line 1.
This is line 2.
This is line 3.
4. 结束语
以上就是读取txt文本文件内容的完整攻略,希望对大家有所帮助。需要注意的是,在使用 ClassPathResource 读取文件时,需要确保文件在springboot项目的资源文件夹下,如 src/main/resources 目录或其他自定义目录下。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java(springboot) 读取txt文本内容代码实例 - Python技术站