使用java编写一个程序,实现一个简单的文本编辑器,支持插入、删除和替换文本,以及保存和载入文本文件。
时间: 2024-03-11 19:50:22 浏览: 22
好的,我可以为你提供一个简单的Java文本编辑器的代码示例。以下是一个基本的代码框架,你可以按照需要进行修改和扩展:
```java
import java.io.*;
public class TextEditor {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = null;
String line = null;
StringBuilder sb = new StringBuilder();
try {
System.out.print("请输入要打开的文件名:");
fileName = reader.readLine();
FileReader fileReader = new FileReader(fileName);
BufferedReader fileBufReader = new BufferedReader(fileReader);
while ((line = fileBufReader.readLine()) != null) {
sb.append(line + "\n");
}
fileBufReader.close();
fileReader.close();
} catch (IOException e) {
System.out.println("无法打开文件:" + fileName);
System.exit(1);
}
String content = sb.toString();
System.out.println("文件内容如下:\n" + content);
while (true) {
System.out.print("[1]插入 [2]删除 [3]替换 [4]保存 [5]退出,请输入操作编号:");
try {
int command = Integer.parseInt(reader.readLine());
switch (command) {
case 1:
System.out.print("请输入要插入的文本内容:");
String insertText = reader.readLine();
System.out.print("请输入要插入的位置:");
int insertIndex = Integer.parseInt(reader.readLine());
content = content.substring(0, insertIndex) + insertText + content.substring(insertIndex);
System.out.println("插入后的文本内容如下:\n" + content);
break;
case 2:
System.out.print("请输入要删除的起始位置:");
int deleteStart = Integer.parseInt(reader.readLine());
System.out.print("请输入要删除的结束位置:");
int deleteEnd = Integer.parseInt(reader.readLine());
content = content.substring(0, deleteStart) + content.substring(deleteEnd);
System.out.println("删除后的文本内容如下:\n" + content);
break;
case 3:
System.out.print("请输入要替换的起始位置:");
int replaceStart = Integer.parseInt(reader.readLine());
System.out.print("请输入要替换的结束位置:");
int replaceEnd = Integer.parseInt(reader.readLine());
System.out.print("请输入替换的文本内容:");
String replaceText = reader.readLine();
content = content.substring(0, replaceStart) + replaceText + content.substring(replaceEnd);
System.out.println("替换后的文本内容如下:\n" + content);
break;
case 4:
FileWriter fileWriter = new FileWriter(fileName);
BufferedWriter fileBufWriter = new BufferedWriter(fileWriter);
fileBufWriter.write(content);
fileBufWriter.close();
fileWriter.close();
System.out.println("文件已保存!");
break;
case 5:
System.out.println("感谢使用!");
System.exit(0);
break;
default:
System.out.println("无效的操作编号,请重新输入!");
break;
}
} catch (NumberFormatException e) {
System.out.println("输入的数字格式不正确,请重新输入!");
} catch (IOException e) {
System.out.println("发生了I/O错误:" + e.getMessage());
}
}
}
}
```
这个文本编辑器支持打开、插入、删除、替换、保存和退出等基本操作。你可以按照需要进行修改和扩展,比如增加菜单、支持格式化输出、增加搜索和替换等高级功能。