用java制作一个简单的日记本,要求有菜单,创建日记、打开日记、编辑日记、保存日记到某地址、退出等,并实现其功能的代码
时间: 2024-02-05 17:04:33 浏览: 144
好的,以下是一个简单的日记本的Java代码,包括菜单、创建、打开、编辑、保存和退出功能:
```java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Diary {
private static Scanner scanner = new Scanner(System.in);
private static String diaryContent = "";
public static void main(String[] args) {
while (true) {
showMenu();
int choice = getChoice();
switch (choice) {
case 1:
createDiary();
break;
case 2:
openDiary();
break;
case 3:
editDiary();
break;
case 4:
saveDiary();
break;
case 5:
exit();
break;
default:
System.out.println("无效操作,请重新选择!");
}
}
}
private static void showMenu() {
System.out.println("欢迎使用日记本!");
System.out.println("1. 创建日记");
System.out.println("2. 打开日记");
System.out.println("3. 编辑日记");
System.out.println("4. 保存日记");
System.out.println("5. 退出");
}
private static int getChoice() {
System.out.print("请选择操作:");
return scanner.nextInt();
}
private static void createDiary() {
System.out.print("请输入日记内容:");
scanner.nextLine(); // 消耗掉nextInt输入后的换行符
diaryContent = scanner.nextLine();
}
private static void openDiary() {
System.out.print("请输入日记文件路径:");
String filePath = scanner.next();
File file = new File(filePath);
if (file.exists()) {
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
String line;
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null) {
sb.append(line).append(System.lineSeparator());
}
diaryContent = sb.toString();
} catch (IOException e) {
System.out.println("读取文件出错:" + e.getMessage());
}
} else {
System.out.println("文件不存在!");
}
}
private static void editDiary() {
System.out.println("当前日记内容:");
System.out.println(diaryContent);
System.out.print("请输入新的日记内容:");
scanner.nextLine(); // 消耗掉nextInt输入后的换行符
diaryContent = scanner.nextLine();
}
private static void saveDiary() {
System.out.print("请输入保存的文件路径:");
String filePath = scanner.next();
File file = new File(filePath);
try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
writer.write(diaryContent);
System.out.println("保存成功!");
} catch (IOException e) {
System.out.println("保存文件出错:" + e.getMessage());
}
}
private static void exit() {
scanner.close();
System.out.println("再见!");
System.exit(0);
}
}
```
菜单和操作的实现都在main方法中,其中showMenu方法显示菜单,getChoice方法获取用户的选择。
createDiary方法用于创建日记,直接从控制台读取用户输入的日记内容。
openDiary方法用于打开日记,需要用户输入日记文件的路径,然后读取文件内容。
editDiary方法用于编辑日记,先输出当前日记的内容,然后从控制台读取新的日记内容。
saveDiary方法用于保存日记,需要用户输入保存的文件路径,然后将日记内容写入文件中。
exit方法用于退出程序,关闭Scanner对象,输出“再见”并退出程序。
阅读全文