Java存储图书信息
生活随笔
收集整理的這篇文章主要介紹了
Java存储图书信息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用文件輸入/輸出流完成存儲圖書并將圖書信息再讀取出來的功能。
每到學校開學季都會新進一批圖書教材,需要將這些圖書信息保存到文件,再將它們打印出來方便老師查看。下面編寫程序,使用文件輸入/輸出流完成圖書信息的存儲和讀取功能,具體的實現步驟如下。
1 . 創建 Book 類,在該類中包含 no、name 和 price 3 個屬性,分別表示圖書編號、圖書名稱和圖書單價。同時還包含兩個方法 write() 和 read(),分別用于將圖書信息寫入到磁盤文件中和從磁盤文件中讀取圖書信息并打印到控制臺。
此外,在 Product 類中包含有該類的 toString() 方法和帶有 3 個參數的構造方法,具體的內容如下:
public class Book {private int no; // 編號private String name; // 名稱private double price; // 單價public Book(int no, String name, double price) {this.no = no;this.name = name;this.price = price;}public String toString() {return "圖書編號:" + this.no + ",圖書名稱:" + this.name + ",圖書單價:" + this.price + "\n";}public static void write(List books) {FileWriter fw = null;try {fw = new FileWriter("E:\\myJava\\books.txt"); // 創建FileWriter對象for (int i = 0; i < books.size(); i++) {fw.write(books.get(i).toString()); // 循環寫入}} catch (Exception e) {System.out.println(e.getMessage());} finally {try {fw.close();} catch (IOException e) {e.printStackTrace();}}}public static void read() {FileReader fr = null;BufferedReader br = null;try {fr = new FileReader("E:\\myJava\\books.txt");br = new BufferedReader(fr); // 創建BufferedReader對象String str = "";while ((str = br.readLine()) != null) { // 循環讀取每行數據System.out.println(str); // 輸出讀取的內容}} catch (Exception e) {System.out.println(e.getMessage());} finally {try {br.close();fr.close();} catch (IOException e) {e.printStackTrace();}}} }分別使用字符文件輸出流 FileWriter 和字符緩沖區輸入流 BufferedReader 完成對圖書信息的存儲和讀取功能。
2 . 編寫測試類 Test,創建兩個 Book 對象,并將這兩個對象保存到 List 集合中,再將 List 集合對象傳遞給 Book 類中的 write() 方法,向 F:\product.txt 文件中寫入圖書信息。最后調用 Product 類中的 read() 方法讀取該文件內容,代碼如下:
public class Test {public static void main(String[] args) {Book book1 = new Book(1001, "百度搜索引擎", 159);Book book2 = new Book(1002, "百度搜索引擎", 259);List books = new ArrayList();books.add(book1);books.add(book2);Book.write(books);System.out.println("********************圖書信息******************");Book.read();} }3 . 運行程序,輸出的圖書信息,如下所示。打開 E:\myJava\books.txt 文件,該文件的內容如圖 1 所示。
********************圖書信息****************** 圖書編號:1001,圖書名稱:百度搜索引擎,圖書單價:159.0 圖書編號:1002,圖書名稱:百度搜索引擎,圖書單價:259.0總結
以上是生活随笔為你收集整理的Java存储图书信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ static静态成员变量
- 下一篇: 命令行安装Pillow