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,exitwhile(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基础编写猜数游戏
Java基础编写猜数游戏 设计内容及要求 产生一个100以内的随机数,游戏者进行猜数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜对为止.游戏结束后计算出玩家所猜的次数. 目的及意义 通过猜数 ...
- Java基础-编写问候语-“Hello World”
Java基础-编写问候语-"Hello World" 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编写"Hello World"程序 ...
- (尚硅谷项目代码)java基础----家庭记事本
小记:跟着尚硅谷的老师学了三天的java基础,学习完家庭记事本之后自己动手打了一遍代码,其中Utility是一些用到的方法,已经事先给出,放在Utility.java文件中,只需要在FamilyAcc ...
- 编写运行最简单的java程序——使用记事本编写java程序
编写运行最简单的java程序--使用记事本编写java程序 第一个java程序--使用记事本编辑 经过上篇文章的java环境搭建成功的小伙伴们可以在自己的计算机上编写属于自己的java程序了yo~ 还 ...
- java 获取文件所在的文件夹_带你0基础编写一个Java小程序,领略Java程序从编写到编译再到运行的全流程...
在学习Java之前我们需要先认识下什么是计算机语言?计算机语言又有哪些分类?在了解这些后对我们理解学习帮助是很大的. 要知道计算机语言是人与计算机之间进行信息交流沟通的一种特殊语言,又分为机械语言.汇 ...
- Java教程:使用记事本编写运行Java程序
Java教程经过上节的操作已经配置完了 Java 的开发环境,但并不清楚所配置的开发环境是否真的可以运行 Java 应用程序.为了解除这个疑虑,也为了使读者对开发 Java 应用程序的步骤有一个初步的 ...
- java编写家庭收支记录,Java家庭收支记账小项目(java基础)
Java家庭收支记账小项目(java基础) Java家庭收支记账小项目(java基础) 需求说明: 模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支 ...
- Java基础——利用DMO4J编写一个商品管理系统
题目:这里有一份XML文件用于储存商品信息,编写一个商品管理系统,可以对XML文件进行增删查改的操作. <?xml version="1.0" encoding=" ...
- Java基础数组编写酒店管理系统
文章目录 Java基础数组编写酒店管理系统 需求说明: 实现代码: ①酒店类(Hotel.java) ②房间类(Room.java) ③酒店管理测试类(HotelMgtSystem.java) 测试结 ...
最新文章
- 谷歌低调了 5 年的 Fuchsia OS,终于有望面世了!
- 自学入门不在困难,初学者挑战学习Python编程30天 (三)
- springboot + shiro 尝试登录次数限制与并发登录人数控制
- nginx+uWSGI+django+virtualenv+supervisor发布web服务器
- CNCF 沙箱项目 OCM Placement 多集群调度指南
- 学java_如何一步一步的学Java
- varchar 保存英文中文区别。
- 2014 ACM/ICPC Asia Regional Xi'an Online
- SpringMVC原理及非注解配置详解
- idea ---- 快捷键
- IBM MQ - 连接远程队列管理器报AMQ4036错误
- 关于防止sql注入的几种手段
- 【大数据部落】混合IBCF协同过滤推荐算法推荐引擎的探索1
- 集体智慧编程chapter5:优化问题
- 三星s8android8.0,三星S8国行升级安卓8.0 系统流畅度提升
- JavaScript设计模式 - 适配器模式
- 德州农工大学计算机硕士申请,2019至领留学获德州农工大学TAMU电子工程硕士ECE录取...
- 山丽防水墙客户端的卸载
- 宠物网页代码 html静态网页设计制作 dw静态网页成品模板素材网页 web前端网页设计与制作 div静态网页设计
- 嵌入式软件开发需要学习的知识点