可以通过以下步骤实现:
下面是一个示例代码,用于演示如何使用Java scanner和printwriter查找并替换多个文本文件中的单词:
import java.io.*;
import java.util.Scanner;
public class TextFileProcessor {
public static void main(String[] args) {
// 指定要操作的文本文件夹路径
String folderPath = "path/to/folder";
// 指定要查找和替换的单词
String wordToFind = "oldWord";
String wordToReplace = "newWord";
File folder = new File(folderPath);
if (!folder.exists() || !folder.isDirectory()) {
System.out.println("指定的文件夹路径无效!");
return;
}
// 遍历文件夹中的文本文件
File[] files = folder.listFiles();
for (File file : files) {
if (file.isFile() && file.getName().endsWith(".txt")) {
processTextFile(file, wordToFind, wordToReplace);
}
}
System.out.println("所有文本文件处理完成!");
}
private static void processTextFile(File file, String wordToFind, String wordToReplace) {
try {
// 创建临时文件来存储替换后的文本
File tempFile = new File(file.getAbsolutePath() + ".temp");
FileWriter fileWriter = new FileWriter(tempFile);
PrintWriter printWriter = new PrintWriter(fileWriter);
// 使用Scanner读取原始文本文件
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
// 使用replaceAll方法查找并替换指定的单词
String replacedLine = line.replaceAll("\\b" + wordToFind + "\\b", wordToReplace);
printWriter.println(replacedLine);
}
// 关闭资源
scanner.close();
printWriter.flush();
printWriter.close();
fileWriter.close();
// 删除原始文本文件,并将临时文件重命名为原始文件名
file.delete();
tempFile.renameTo(file);
System.out.println(file.getName() + " 文件处理完成!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
请注意,以上示例代码仅用于演示如何使用Java scanner和printwriter查找并替换多个文本文件中的单词。在实际应用中,可能还需要考虑异常处理、文件编码等其他因素。
领取专属 10元无门槛券
手把手带您无忧上云