用java创建一个记事本程序,包括增删改查
时间: 2023-05-23 21:07:14 浏览: 149
A:好的,以下是一个简单的Java记事本程序,包括增加、删除、修改和查找功能:
```java
import java.io.*;
import java.util.*;
public class Notepad {
private File file;
private List<String> lines;
public Notepad(String filename) {
file = new File(filename);
lines = new ArrayList<String>();
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
String line;
while ((line = reader.readLine()) != null) {
lines.add(line);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void save() {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
for (String line : lines) {
writer.write(line);
writer.newLine();
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void addLine(String line) {
lines.add(line);
}
public void deleteLine(int index) {
lines.remove(index);
}
public void modifyLine(int index, String line) {
lines.set(index, line);
}
public int searchLine(String keyword) {
for (int i = 0; i < lines.size(); i++) {
if (lines.get(i).contains(keyword)) {
return i;
}
}
return -1;
}
public static void main(String[] args) {
Notepad notepad = new Notepad("note.txt");
Scanner scanner = new Scanner(System.in);
String command = "";
while (!command.equals("exit")) {
System.out.print("请输入命令(add/del/mod/search/save/exit):");
command = scanner.nextLine();
switch (command) {
case "add":
System.out.print("请输入要添加的行:");
notepad.addLine(scanner.nextLine());
break;
case "del":
System.out.print("请输入要删除的行号:");
notepad.deleteLine(Integer.parseInt(scanner.nextLine()));
break;
case "mod":
System.out.print("请输入要修改的行号:");
int index = Integer.parseInt(scanner.nextLine());
System.out.print("请输入新的行:");
notepad.modifyLine(index, scanner.nextLine());
break;
case "search":
System.out.print("请输入要查找的关键字:");
int found = notepad.searchLine(scanner.nextLine());
if (found == -1) {
System.out.println("未找到匹配的行。");
} else {
System.out.println("匹配行号为:" + found);
}
break;
case "save":
notepad.save();
System.out.println("已保存文件。");
break;
case "exit":
break;
default:
System.out.println("无效的命令,请重新输入。");
break;
}
}
}
}
```
该程序首先使用`java.io`包中的类读取指定的文本文件,并将文件内容存储在一个`List`对象中。然后,用户可以输入不同的命令来执行相应的操作。例如,输入`add`命令可以添加新的一行,输入`del`命令可以删除指定的行,输入`mod`命令可以修改指定的行,输入`search`命令可以查找包含指定关键字的行,输入`save`命令可以将更改保存回文件中,输入`exit`命令可以退出程序。
该程序使用了一些常见的Java类和方法,例如`File`、`List`、`Scanner`和`switch`。虽然不是最完整或最复杂的记事本程序,但它可以作为一个很好的入门实例,使初学者更加了解Java的基本语法和文件处理。
阅读全文