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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。