Java设计一个模拟记事本的程序,要求在控制台输入指令,可以实现本地新建文件、打开文件和修改文件等功能。
2023-12-13 19:54:53
设计一个模拟记事本的程序,要求在控制台输入指令,可以实现本地新建文件、打开文件和修改文件等功能。
import java.io.*;
import java.util.Scanner;
public class SimpleNotepad {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请输入指令(new-新建文件,open-打开文件,edit-修改文件,exit-退出):");
String command = scanner.nextLine();
switch (command.toLowerCase()) {
case "new":
createNewFile(scanner);
break;
case "open":
openFile(scanner);
break;
case "edit":
editFile(scanner);
break;
case "exit":
System.out.println("程序已退出。");
System.exit(0);
default:
System.out.println("无效的指令,请重新输入。");
}
}
}
private static void createNewFile(Scanner scanner) {
System.out.println("请输入新文件的名称:");
String fileName = scanner.nextLine();
try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName))) {
System.out.println("新文件已创建,请开始输入内容。输入完毕后,输入 ':q' 保存并退出编辑。");
while (true) {
String line = scanner.nextLine();
if (line.equals(":q")) {
System.out.println("文件已保存。");
break;
}
writer.write(line);
writer.newLine();
}
} catch (IOException e) {
System.out.println("创建文件时出现错误:" + e.getMessage());
}
}
private static void openFile(Scanner scanner) {
System.out.println("请输入要打开的文件名称:");
String fileName = scanner.nextLine();
try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
System.out.println("文件内容:");
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.out.println("打开文件时出现错误:" + e.getMessage());
}
}
private static void editFile(Scanner scanner) {
System.out.println("请输入要编辑的文件名称:");
String fileName = scanner.nextLine();
try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName, true))) {
System.out.println("请输入要添加到文件的内容。输入完毕后,输入 ':q' 保存并退出编辑。");
while (true) {
String line = scanner.nextLine();
if (line.equals(":q")) {
System.out.println("文件已保存。");
break;
}
writer.write(line);
writer.newLine();
}
} catch (IOException e) {
System.out.println("编辑文件时出现错误:" + e.getMessage());
}
}
}
文章来源:https://blog.csdn.net/m0_73811154/article/details/134939247
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!