编写一个日记本功能的程序,使用字节流经日记的具体信息记录在本地的txt文件中。当用户输入日记的特定内容后,会将输入的内容保存至本地的txt文件中。需要输入的内容包括“姓名”,“天气”、“标题”、“内容”的数据。保存的时候需要判断本地是否存在文件,如果存在则追加,不存在则新建。文件命名格式为“黑马日记本”加上“.txt”后缀,如“黑马日记本.txt”java实现
时间: 2024-03-23 16:36:28 浏览: 146
好的,以下是程序的 Java 实现:
```java
import java.io.*;
public class Diary {
private static final String FILE_NAME = "黑马日记本.txt";
// 判断文件是否存在,存在则打开文件,不存在则新建文件
private static FileWriter createDiaryFile() throws IOException {
File file = new File(FILE_NAME);
FileWriter fileWriter = new FileWriter(file, true);
if (!file.exists()) {
fileWriter.write("姓名\t天气\t标题\t内容\n"); // 写入表头
}
return fileWriter;
}
// 读取文件内容
private static String readDiaryFile() throws IOException {
FileReader fileReader = new FileReader(FILE_NAME);
BufferedReader bufferedReader = new BufferedReader(fileReader);
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line).append("\n");
}
bufferedReader.close();
return stringBuilder.toString();
}
// 将日记信息写入文件中
private static void writeDiaryFile(String name, String weather, String title, String content) throws IOException {
FileWriter fileWriter = createDiaryFile();
fileWriter.write(name + "\t" + weather + "\t" + title + "\t" + content + "\n");
fileWriter.close();
}
// 用户输入日记信息
private static void inputDiaryInfo() throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入您的姓名:");
String name = reader.readLine();
System.out.print("请输入今天的天气:");
String weather = reader.readLine();
System.out.print("请输入日记标题:");
String title = reader.readLine();
System.out.print("请输入日记内容:");
String content = reader.readLine();
writeDiaryFile(name, weather, title, content);
System.out.println("日记保存成功!");
}
// 主程序
public static void main(String[] args) throws IOException {
String content = readDiaryFile();
System.out.println(content);
inputDiaryInfo();
}
}
```
程序中使用了四个方法:
- `createDiaryFile()` 判断文件是否存在,如果存在则打开文件,如果不存在则新建文件,并在文件中写入表头。
- `readDiaryFile()` 读取文件中的内容。
- `writeDiaryFile(name, weather, title, content)` 将用户输入的日记信息写入文件中,每个字段之间用制表符分隔。
- `inputDiaryInfo()` 让用户输入日记信息,并将输入的信息保存到文件中。
在 `main()` 方法中,先读取文件中的内容并打印出来,然后调用 `inputDiaryInfo()` 方法让用户输入日记信息,并将输入的信息保存到文件中。
注意:在写入文件时,需要将字符编码格式设置为 utf-8,否则会出现乱码。在 Java 中,可以通过 `InputStreamReader` 和 `BufferedReader` 来读取用户输入的内容。
阅读全文