读取资源文件、过滤掉空行并将其写回文件
public class resourceUtilTest {
/**
* 测试ResourceUtil的功能,读取文件内容,过滤掉空行并写回文件。
*/
@Test
public void testResourceUtil() {
// 获取资源文件的URL
URL resource = ResourceUtil.getResource("legal_data/wenshu/qisu/qisu1.txt");
System.out.println(resource);
// 使用FileReader读取文件内容
FileReader fileReader = new FileReader(FileUtil.file(resource));
// 读取文件的每一行内容
List<String> strings = fileReader.readLines();
// 使用Stream API过滤掉空行
List<String> filteredLines = strings.stream()
.filter(line -> !line.trim().isEmpty()) // 过滤掉空白行
.collect(Collectors.toList());
// 将过滤后的内容写回文件
FileUtil.writeLines(filteredLines, FileUtil.file(resource), "UTF-8");
// 读取并打印文件的内容
String result = fileReader.readString();
System.out.println(result);
}
}
详细解释
1. 获取资源文件:
URL resource = ResourceUtil.getResource("legal_data/wenshu/qisu/qisu1.txt");
System.out.println(resource);
通过 `ResourceUtil.getResource` 方法获取资源文件的 URL,并打印出来。
2. 读取文件内容:
FileReader fileReader = new FileReader(FileUtil.file(resource));
List<String> strings = fileReader.readLines();
使用 `FileReader` 读取文件的每一行内容,并将其存储在 `strings` 列表中。
3. 过滤空行:
List<String> filteredLines = strings.stream()
.filter(line -> !line.trim().isEmpty()) // 过滤掉空白行
.collect(Collectors.toList());
使用 Java 8 的 Stream API 过滤掉空白行,并将结果收集到新的列表 `filteredLines` 中。
4. 写回文件:
FileUtil.writeLines(filteredLines, FileUtil.file(resource), "UTF-8");
将过滤后的内容写回文件中。
5. 读取并打印文件内容:
String result = fileReader.readString();
System.out.println(result);
重新读取文件内容并打印出来,以验证文件内容的正确性。
!