java - FileWriter / BufferedReader Java 单词查找器
问题描述
我已经设置了这个代码,我正在尝试编写一个程序来查看文件并找到一个特定的隐藏秘密词,然后用“找到!”替换这个词。然后在控制台中重新打印文本文件。我知道如何使用 reader 和 writer,但我不确定如何同时使用它们来做到这一点。代码如下:
读者类:
package Main;
import java.io.*;
public class Read {
private static String line;
FileReader in;
File file;
public Read() {
line = "";
}
public void readFile() throws IOException {
file = new File("C:examplePathName\\ReadWriteExp.txt");
in = new FileReader(file);
BufferedReader br = new BufferedReader(in);
while((line = br.readLine()) != null) {
System.out.println(line);
}
in.close();
}
public String getLine() {
return line;
}
public File getFile() {
return file;
}
}
作家(更改)类:
package Main;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
public class Change {
public static void main(String[] args) throws IOException{
Read r = new Read();
String line = r.getLine();
FileWriter fw = new FileWriter(r.getFile());
while(line != null) {
if(line.equals("example")) {
fw.write("found!");
}
System.out.println(line);
}
}
}
我是在正确的道路上还是应该将这两者结合到一个班级中。这也是写入文本文件中特定行的正确方法吗?
解决方案
如果您所要做的就是将转换后的文本打印到系统输出(而不是将其写入文件),那么第二类并不是真正需要的。readFile()
您可以在 Read 类的方法中完成您需要的工作:
public void readFile() throws IOException {
file = new File("C:examplePathName\\ReadWriteExp.txt");
in = new FileReader(file);
BufferedReader br = new BufferedReader(in);
while((line = br.readLine()) != null) {
System.out.println(line.replaceAll("example", "found!"));
}
in.close();
}
您可以进行许多其他调整,但这是您在问题中指定的功能的核心。
推荐阅读
- python - 从json加载时如何将字符串转换为列表
- flutter - Flutter BottomNavBar 不显示 BoxShadow
- javascript - 什么 var n = (t.currentDevicePixelRatio = e || ("undefined" != typeof window && window.devicePixelRatio) || 1); 意思是?
- google-apps-script - 表单响应电子表格.getSheets() 不返回响应表?
- python-3.x - 如何使用 Python 在 Selenium 上选择下拉菜单
- python - 使用 plotly 时出现以下错误。AttributeError:模块'plotly.graph_objects'没有属性'figure'
- flutter - 自动完成/智能感知不适用于 VSCode 中的 dart/flutter
- nsubstitute - 使用 NSubstitute 和 NCrunch 的 RedundantArgumentMatcherException
- windows - win32 硬链接和进程名称
- javascript - 为什么 history.pushState() 会破坏我的导航功能?