Java中使用bufferedwriter和bufferedreader实现搜索一个单词,在该单词后写入另一个单词
时间: 2024-05-06 14:15:40 浏览: 139
java语言实现的字词搜索程序
3星 · 编辑精心推荐
以下是使用BufferedWriter和BufferedReader实现搜索一个单词,在该单词后写入另一个单词的Java代码:
```java
import java.io.*;
public class SearchAndWrite {
public static void main(String[] args) {
String searchWord = "apple";
String newWord = "orange";
String fileName = "input.txt";
String tempFile = "temp.txt";
try {
File inputFile = new File(fileName);
File tempOutputFile = new File(tempFile);
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempOutputFile));
String currentLine;
boolean found = false;
while ((currentLine = reader.readLine()) != null) {
if (currentLine.contains(searchWord)) {
found = true;
currentLine = currentLine.replace(searchWord, searchWord + " " + newWord);
}
writer.write(currentLine + System.getProperty("line.separator"));
}
writer.close();
reader.close();
if (found) {
inputFile.delete();
tempOutputFile.renameTo(inputFile);
System.out.println("The word \"" + searchWord + "\" was found and replaced with \"" + searchWord + " " + newWord + "\".");
} else {
tempOutputFile.delete();
System.out.println("The word \"" + searchWord + "\" was not found in the file.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个例子中,我们打开一个名为“input.txt”的文件,并搜索名为“apple”的单词。如果找到了这个单词,我们就在它后面写入一个名为“orange”的单词。我们使用BufferedReader和BufferedWriter来读取和写入文件。我们还创建了一个临时文件,用于写入新的文件内容。
首先,我们打开输入文件和临时输出文件。然后,我们使用BufferedReader逐行读取输入文件,检查是否包含指定的单词。如果找到了指定的单词,我们就在该行的单词后面添加一个空格和新单词,并将修改后的行写入临时文件。如果没有找到指定的单词,我们只是将该行写入临时文件中,而不做任何更改。
在写入文件后,我们关闭输入和输出流。如果我们找到了指定的单词并替换了它,我们就将原始输入文件删除,并将临时文件重命名为输入文件的名称。否则,我们只需删除临时文件。
最后,我们向控制台输出消息,指示我们是否找到并替换了指定的单词。
阅读全文