java基于io流获取文档中的内容,并进行筛选,将符合条件的内容打印或者输出到文件中的代码
时间: 2023-06-02 08:06:46 浏览: 47
我可以回答你的问题,请看下面的 Java 代码示例:
```java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class ContentFilter {
public static void main(String[] args) {
String filepath = "example.txt"; // 要读取的文件路径
String keyword = "Java"; // 要筛选的关键词
String outputfile = "output.txt"; // 输出文件名
filterContent(filepath, keyword, outputfile);
}
public static void filterContent(String filepath, String keyword, String outputfile) {
File file = new File(filepath);
BufferedReader reader = null;
BufferedWriter writer = null;
try {
reader = new BufferedReader(new FileReader(file));
writer = new BufferedWriter(new FileWriter(outputfile));
String line = null;
while ((line = reader.readLine()) != null) {
if (line.contains(keyword)) { // 如果当前行包含关键词
writer.write(line); // 写入输出文件
writer.newLine(); // 换行
}
}
System.out.println("筛选成功!请查看" + outputfile + "文件。");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
if (writer != null) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
这个代码示例用 Java 读取指定路径下的文件(example.txt),并筛选包含指定关键词(Java)的内容,将符合条件的内容打印或输出到一个指定的文件(output.txt)中。你可以将 `filepath`、`keyword` 和 `outputfile` 的值修改为你自己的参数,然后运行代码,即可得到结果。