Java编写一个记事本小程序,实现录入记录的事件,用数据文件的方式保存每天的事情安排,实现按天查询并显示记事列表的功能,数据保存用文本文件实现
时间: 2023-08-31 15:31:57 浏览: 89
Java编写的记事本程序
3星 · 编辑精心推荐
### 回答1:
下面是一个简单的 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.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
public class Notebook {
private static final String NOTE_FILE_NAME_PREFIX = "note_";
private static final String NOTE_FILE_NAME_SUFFIX = ".txt";
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("1. 录入记事");
System.out.println("2. 查询记事");
System.out.println("3. 退出程序");
System.out.print("请选择操作:");
int option = scanner.nextInt();
if (option == 1) {
addNote();
} else if (option == 2) {
queryNotes();
} else if (option == 3) {
break;
} else {
System.out.println("输入错误,请重新输入。");
}
}
scanner.close();
}
private static void addNote() throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入记事日期(格式:yyyy-MM-dd):");
String dateStr = scanner.next();
Date date = parseDate(dateStr);
if (date == null) {
System.out.println("日期格式错误,请重新输入。");
return;
}
System.out.print("请输入记事内容:");
String content = scanner.next();
String fileName = getNoteFileName(date);
File file = new File(fileName);
if (!file.exists()) {
file.createNewFile();
}
FileWriter fileWriter = new
### 回答2:
Java编写记事本小程序可以使用Java的IO流和文件操作来实现。
首先,我们定义一个Event类,用来表示每个事件的信息,包括事件的日期和内容。代码如下:
```java
public class Event {
private String date;
private String content;
public Event(String date, String content) {
this.date = date;
this.content = content;
}
public String getDate() {
return date;
}
public String getContent() {
return content;
}
}
```
接下来,我们可以编写一个主程序,用来实现录入记录和查询功能。在主程序中,我们可以使用ArrayList来保存每个事件,并使用文件操作将事件保存到文本文件中。代码如下:
```java
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
public class Notepad {
private static final String FILE_PATH = "notepad.txt";
private ArrayList<Event> events;
public Notepad() {
events = new ArrayList<Event>();
}
public void addEvent(Event event) {
events.add(event);
}
public void saveToFile() {
try {
FileWriter writer = new FileWriter(FILE_PATH);
for (Event event : events) {
writer.write(event.getDate() + "," + event.getContent() + "\n");
}
writer.close();
System.out.println("保存成功!");
} catch (IOException e) {
System.out.println("保存失败:" + e.getMessage());
}
}
public void readFromFile() {
try {
FileReader reader = new FileReader(FILE_PATH);
BufferedReader bufferedReader = new BufferedReader(reader);
String line;
while ((line = bufferedReader.readLine()) != null) {
String[] parts = line.split(",");
if (parts.length == 2) {
Event event = new Event(parts[0], parts[1]);
events.add(event);
}
}
bufferedReader.close();
} catch (IOException e) {
System.out.println("读取失败:" + e.getMessage());
}
}
public void showEventsByDate(String date) {
for (Event event : events) {
if (event.getDate().equals(date)) {
System.out.println(event.getContent());
}
}
}
public static void main(String[] args) {
Notepad notepad = new Notepad();
notepad.readFromFile();
Scanner scanner = new Scanner(System.in);
System.out.print("请输入日期(例如2021-01-01):");
String date = scanner.nextLine();
System.out.print("请输入事件内容:");
String content = scanner.nextLine();
notepad.addEvent(new Event(date, content));
notepad.saveToFile();
System.out.println("查询结果:");
notepad.showEventsByDate(date);
}
}
```
以上代码中,我们使用FILE_PATH常量来表示文本文件的路径,可以根据实际情况修改。Notepad类中的addEvent方法用来添加事件,saveToFile方法用来将事件保存到文件中,readFromFile方法用来从文件中读取事件,showEventsByDate方法用来按日期查询并显示事件。在程序的main方法中,我们首先读取文件中的事件,然后通过用户的输入添加新的事件,并保存到文件中,最后根据用户输入的日期查询并显示事件。
这样,我们就实现了一个简单的记事本小程序,可以录入和查询事件,并将事件保存到文本文件中。
### 回答3:
Java编写一个记事本小程序,可以实现录入记录的事件,并用数据文件的方式保存每天的事情安排。数据保存使用文本文件实现。
首先,我们需要设计一个记事本类(Notebook),包含以下几个方法:
1. addNote方法:用于录入记录的事件,接收用户输入的信息,并将该信息追加到文本文件中。
2. readNotes方法:用于按天查询并显示记事列表,接收用户输入的日期,然后从文本文件中读取该日期的记录,并将记录以列表形式显示出来。
接下来,我们可以按照以下步骤实现记事本小程序:
1. 创建一个Notebook类,包含上述方法。
2. 在addNote方法中,首先接收用户输入的日期和事件内容,并将其保存为一个字符串。然后使用FileWriter类和BufferedWriter类将该字符串追加到文本文件中。
3. 在readNotes方法中,首先接收用户输入的日期,并将其作为文件名来打开文本文件。然后使用FileReader类和BufferedReader类逐行读取文件内容,将读取到的每一行记录保存到一个列表中。最后,循环遍历该列表,将记录以列表形式显示出来。
4. 在主函数中,创建一个Notebook对象,并通过菜单方式提供录入和查询功能。用户可以选择录入事件或按日期查询事件,并根据需要重复执行。
通过以上步骤,我们就能够实现一个能够录入记录事件、保存到文本文件,并能按天查询并显示记事列表的记事本小程序。每次录入事件时,都会将事件内容追加到文本文件中。每次查询时,都会从文本文件中读取相应日期的记录,并将其显示出来。
阅读全文