IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java基础编写记事本 -> 正文阅读

[Java知识库]Java基础编写记事本

学习了Java的一些基础知识,编写一个功能超级简单记事本。

首先一个大的框架要建立起来,比如说Windows的记事本,有新建文件,打开文件,修改文件,保存等等功能,话不多说,直接上代码。

    private static String filePath;
    private static String message = "";
    public static void main(String[] args) throws Exception {
        Scanner scanner = new Scanner(System.in);
        System.out.println("1:新建文件 2:打开文件 3:修改文件 4:保存 5:退出");
        //create,open,modify,save,exit
        while(true) {
            System.out.println("请输入指令:");
            int command = scanner.nextInt();
            switch (command) {
                case 1:
                    createFile();
                    break;
                case 2:
                    openFile();
                    break;
                case 3:
                    modifyFile();
                    break;
                case 4:
                    saveFile();
                    break;
                case 5:
                    exit();
                    break;
                default:
                    System.out.println("您输入的指令错误!(1-5)");
                    break;
            }
        }
    }

具体的一些要点我也不知怎么描述才能够通俗易懂。反正学了后就是知道该这么写才行,我也没有在网络上搜别人是怎么写的,这种应该是最简单的吧。
接下来又有几个小框架,我就不多说什么了,这个全部代码运行后操作很简单,看了应该就能直接上手。
新建文件

private static void createFile() {
        message = "";
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容,停止时输入\"stop\":");
        StringBuffer sBuffer = new StringBuffer();
        String inputMessage = "";
        while (!inputMessage.equals("stop")) {
            if (sBuffer.length()>0) {
                sBuffer.append("\r\n");
            }
            sBuffer.append(inputMessage);
            inputMessage = scanner.nextLine();
        }
        message = sBuffer.toString();
    }

打开文件

private static void openFile() throws Exception {
        message = "";
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入打开文件的位置:");
        filePath = scanner.next();
        if (filePath != null && !filePath.endsWith(".txt")) {
            System.out.println("请选择文本文件!");
            return;
        }
        FileReader in = new FileReader(filePath);
        char[]charArray = new char[1024];
        int len = 0;
        StringBuffer sb = new StringBuffer();
        while((len = in.read(charArray)) != -1) {
            sb.append(charArray);
        }
        message = sb.toString();
        System.out.println("打开文件内容:"+"\r\n" + message);
        in.close();
    }

修改文件

private static void modifyFile() {
        if (message == "" && filePath ==null) {
            System.out.println("请先新建文件或者打开文件");
            return;
        }
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要修改的内容(以\"修改的目标文字:修改之后的文字\")," + "停止修改请输入\"stop\":");
        String inputMessage = "";
        while(!inputMessage.equals("stop")) {
            inputMessage = scanner.nextLine();
            if (inputMessage != null && inputMessage.length() > 0) {
                String[] modifyMessage = inputMessage.split(":");
                if (modifyMessage != null && modifyMessage.length > 1) {
                    message = message.replace(modifyMessage[0], modifyMessage[1]);
                }
            }
        }
        System.out.println("修改后的内容:" + "\r\n" + message);
    }

保存文件

private static void saveFile() throws IOException {
        Scanner scanner = new Scanner(System.in);
        FileWriter out = null;
        if (filePath != null) {
            out = new FileWriter(filePath);
        }else {
            System.out.println("请输入文件保存的绝对路径:");
            String path = scanner.next();
            filePath = path;
            if (!filePath.toLowerCase().endsWith(".txt")) {
                filePath += ".txt";
            }
            out = new FileWriter(filePath);
        }
        out.write(message);
        out.close();
        message = "";
        filePath = null;
    }

退出

private static void exit() {
        System.out.println("您已退出系统,谢谢使用!");
        System.exit(0);
    }

代码中运用的一些方法肯定是需要导入包的,接下来是完整的代码。

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class Notepad {


    private static String filePath;
    private static String message = "";
    public static void main(String[] args) throws Exception {
        Scanner scanner = new Scanner(System.in);
        System.out.println("1:新建文件 2:打开文件 3:修改文件 4:保存 5:退出");
        while(true) {
            System.out.println("请输入指令:");
            int command = scanner.nextInt();
            switch (command) {
                case 1:
                    createFile();
                    break;
                case 2:
                    openFile();
                    break;
                case 3:
                    modifyFile();
                    break;
                case 4:
                    saveFile();
                    break;
                case 5:
                    exit();
                    break;
                default:
                    System.out.println("您输入的指令错误!(1-5)");
                    break;
            }
        }
    }

    private static void createFile() {
        message = "";
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容,停止时输入\"stop\":");
        StringBuffer sBuffer = new StringBuffer();
        String inputMessage = "";
        while (!inputMessage.equals("stop")) {
            if (sBuffer.length()>0) {
                sBuffer.append("\r\n");
            }
            sBuffer.append(inputMessage);
            inputMessage = scanner.nextLine();
        }
        message = sBuffer.toString();
    }

    private static void openFile() throws Exception {
        message = "";
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入打开文件的位置:");
        filePath = scanner.next();
        if (filePath != null && !filePath.endsWith(".txt")) {
            System.out.println("请选择文本文件!");
            return;
        }
        FileReader in = new FileReader(filePath);
        char[]charArray = new char[1024];
        int len = 0;
        StringBuffer sb = new StringBuffer();
        while((len = in.read(charArray)) != -1) {
            sb.append(charArray);
        }
        message = sb.toString();
        System.out.println("打开文件内容:"+"\r\n" + message);
        in.close();
    }

    private static void modifyFile() {
        if (message == "" && filePath ==null) {
            System.out.println("请先新建文件或者打开文件");
            return;
        }
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要修改的内容(以\"修改的目标文字:修改之后的文字\")," + "停止修改请输入\"stop\":");
        String inputMessage = "";
        while(!inputMessage.equals("stop")) {
            inputMessage = scanner.nextLine();
            if (inputMessage != null && inputMessage.length() > 0) {
                String[] modifyMessage = inputMessage.split(":");
                if (modifyMessage != null && modifyMessage.length > 1) {
                    message = message.replace(modifyMessage[0], modifyMessage[1]);
                }
            }
        }
        System.out.println("修改后的内容:" + "\r\n" + message);
    }

    private static void saveFile() throws IOException {
        Scanner scanner = new Scanner(System.in);
        FileWriter out = null;
        if (filePath != null) {
            out = new FileWriter(filePath);
        }else {
            System.out.println("请输入文件保存的绝对路径:");
            String path = scanner.next();
            filePath = path;
            if (!filePath.toLowerCase().endsWith(".txt")) {
                filePath += ".txt";
            }
            out = new FileWriter(filePath);
        }
        out.write(message);
        out.close();
        message = "";
        filePath = null;
    }
    private static void exit() {
        System.out.println("您已退出系统,谢谢使用!");
        System.exit(0);
    }

}

运行后在控制台看到的是这样,那我也来简单操作一番。
在这里插入图片描述
先新建一个。
在这里插入图片描述
输入内容后回车输入stop结束。
在这里插入图片描述
然后保存试试看。
在这里插入图片描述
出现这个报错是因为我D盘里面没有java这个文件夹,找不到指定目录,它保存直接只能是txt文件。
所以我在D盘新建了一个java文件夹后运行就没有报错。

在这里插入图片描述
然后去D盘找找看。在这里插入图片描述
再来试下打开功能。
在这里插入图片描述
这里就不能输入D:\java\one了,打开文件当然需要文件后缀。

我自己也去搜了一下,好多大佬写的记事本比我这个高级的多,我这个是java初学者应该能写出来的。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-09-04 17:22:29  更:2021-09-04 17:23:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:04:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码