答案:通过Java的FileWriter和BufferedReader实现图书借还日志记录与读取,使用缓冲流提升效率,结合try-with-resources自动管理资源,完成日志追加、换行及异常处理,适用于小型系统文件操作。

做Java开发时,文件操作是绕不开的基础技能。尤其在小型管理系统中,比如图书借还系统,用IO流记录日志既简单又实用。今天就带你用Java实现一个图书借还日志程序,从零开始讲解IO流的入门应用。
我们要记录每次图书借出和归还的操作,至少包括:
这些信息可以写入一个文本文件,比如 log.txt,每条记录占一行,便于查看和追加。
Java中向文件写数据,常用 FileWriter 配合 BufferedWriter 提升效率。下面是一个记录借书日志的方法示例:
立即学习“Java免费学习笔记(深入)”;
import java.io.*;
import java.time.LocalDateTime;
public class BookLogger {
private static final String LOG_FILE = "log.txt";
public static void logBorrow(String bookName, String borrower) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter(LOG_FILE, true))) {
String log = String.format("[%s] 借书: 《%s》, 借阅人: %s",
LocalDateTime.now(), bookName, borrower);
writer.write(log);
writer.newLine(); // 换行
System.out.println("借阅日志已记录");
} catch (IOException e) {
System.err.println("写入日志失败:" + e.getMessage());
}
}
}
注意点:
除了写,我们还需要读取日志进行核对。使用 BufferedReader 逐行读取更高效:
public static void showLogs() {
try (BufferedReader reader = new BufferedReader(new FileReader(LOG_FILE))) {
String line;
System.out.println("=== 借还日志 ===");
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (FileNotFoundException e) {
System.out.println("日志文件不存在,暂无记录。");
} catch (IOException e) {
System.err.println("读取日志失败:" + e.getMessage());
}
}
当文件不存在时会抛出 FileNotFoundException,提前捕获能让提示更友好。
把上面方法组合起来,做个简单测试:
public static void main(String[] args) {
logBorrow("Java编程思想", "张三");
logBorrow("深入理解JVM", "李四");
logReturn("Java编程思想", "张三"); // 还书方法结构类似
showLogs();
}
运行后你会在项目根目录看到 log.txt,内容类似:
[2025-04-05T10:20:30.123] 借书: 《Java编程思想》, 借阅人: 张三基本上就这些。这个小项目帮你掌握了FileWriter、FileReader、缓冲流的使用,也理解了try-with-resources和异常处理的实际意义。不复杂但容易忽略细节,比如追加模式和自动关流。练一遍,IO流就不怕了。
以上就是Java开发图书借还日志程序_IO流入门实战讲解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号