要求编写一个模拟日记本的程序,通过在控制台输入指令,实现在本地新建日记本、打开日记本和修改日记本等功能。 (1)用户输入指令1代表"新建日记本",可以从控制台获取用户输入的日记内容。(2)指令2代表"打开日记本",读取指定路径的 txt 文件的内容并输出到控制台。 (3) 指令3代表"修改日记本",修改日记时,既可以修改新建日记本的内容,也可以修改已打开日记本的内容。 指令4代表"保存",如果是新建的日记本需要保存,则将日记本保存到用户输入的路径;如果是打开的日记本需要保存,则将原来内容覆盖: (5)指令5代表"退出",即退出本系统。用JAVA实现
时间: 2023-06-14 09:03:52 浏览: 146
以下是一个简单的Java实现:
```java
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Scanner;
public class Diary {
private static String content = ""; // 存储日记内容
private static String filePath = ""; // 存储日记文件路径
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请输入指令:");
System.out.println("1 - 新建日记本");
System.out.println("2 - 打开日记本");
System.out.println("3 - 修改日记本");
System.out.println("4 - 保存");
System.out.println("5 - 退出");
int command = scanner.nextInt();
switch (command) {
case 1:
System.out.println("请输入日记内容:");
scanner.nextLine(); // 读取上一个nextInt()后的回车符
content = scanner.nextLine();
System.out.println("请输入保存路径:");
filePath = scanner.nextLine();
saveDiary();
break;
case 2:
System.out.println("请输入日记文件路径:");
filePath = scanner.next();
openDiary();
break;
case 3:
System.out.println("请输入修改后的日记内容:");
scanner.nextLine(); // 读取上一个nextInt()后的回车符
content = scanner.nextLine();
saveDiary();
break;
case 4:
saveDiary();
break;
case 5:
System.exit(0);
default:
System.out.println("无效指令,请重新输入!");
break;
}
}
}
// 保存日记
private static void saveDiary() {
try {
FileWriter writer = new FileWriter(filePath);
writer.write(content);
writer.close();
System.out.println("日记已保存!");
} catch (IOException e) {
System.out.println("保存失败:" + e.getMessage());
}
}
// 打开日记
private static void openDiary() {
try {
content = new String(Files.readAllBytes(Paths.get(filePath)));
System.out.println("日记内容:\n" + content);
} catch (IOException e) {
System.out.println("打开失败:" + e.getMessage());
}
}
}
```
注:以上代码未进行输入验证和异常处理,仅供参考。
阅读全文