基于JavaIO流實現(xiàn)保存圖書信息功能

      網(wǎng)友投稿 837 2022-05-28

      在java中,利用輸出流我們可以將一些數(shù)據(jù)保存到磁盤文件中,利用輸入流可以讀取磁盤文件中的內(nèi)容。本節(jié)將綜合使用文件輸入/輸出流完成存儲圖書并將圖書信息再讀取出來的功能。

      每到學(xué)校開學(xué)季都會新進(jìn)一批圖書教材,需要將這些圖書信息保存到文件,再將它們打印出來方便老師查看。下面編寫程序,使用文件輸入/輸出流完成圖書信息的存儲和讀取功能,具體的實現(xiàn)步驟如下。

      基于Java的IO流實現(xiàn)保存圖書信息功能

      1)創(chuàng)建 Book 類,在該類中包含 no、name 和 price 3 個屬性,分別表示圖書編號、圖書名稱和圖書單價。同時還包含兩個方法 write() 和 read(),分別用于將圖書信息寫入到磁盤文件中和從磁盤文件中讀取圖書信息并打印到控制臺。

      此外,在 Product 類中包含有該類的 toString() 方法和帶有 3 個參數(shù)的構(gòu)造方法,具體的內(nèi)容如下:

      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("D:\\c\\books.txt"); // 創(chuàng)建FileWriter對象 for (int i = 0; i < books.size(); i++) { fw.write(books.get(i).toString()); // 循環(huán)寫入 } } 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("D:\\c\\books.txt"); br = new BufferedReader(fr); // 創(chuàng)建BufferedReader對象 String str = ""; while ((str = br.readLine()) != null) { // 循環(huán)讀取每行數(shù)據(jù) System.out.println(str); // 輸出讀取的內(nèi)容 } } catch (Exception e) { System.out.println(e.getMessage()); } finally { try { br.close(); fr.close(); } catch (IOException e) { e.printStackTrace(); } } } }

      如上述代碼,分別使用字符文件輸出流 FileWriter 和字符緩沖區(qū)輸入流 BufferedReader 完成對圖書信息的存儲和讀取功能。

      2)編寫測試類 Test14,創(chuàng)建兩個 Book 對象,并將這兩個對象保存到 List 集合中,再將 List 集合對象傳遞給 Book 類中的 write() 方法,向 product.txt 文件中寫入圖書信息。最后調(diào)用 Product 類中的 read() 方法讀取該文件內(nèi)容,代碼如下:

      public class Test { public static void main(String[] args) { Book book1 = new Book(001, "華為云AI全棧成長計劃", 188); Book book2 = new Book(002, "華為云web前端成長計劃", 166); List books = new ArrayList(); books.add(book1); books.add(book2); Book.write(books); System.out.println("********************圖書信息******************"); Book.read(); } }

      3)運行程序,輸出的圖書信息,如下所示。打開 D:\c\books.txt 文件,該文件的內(nèi)容如圖 1 所示。

      ********************圖書信息******************

      圖書編號:001,圖書名稱:華為云AI全棧成長計劃,圖書單價:188.0

      圖書編號:002,圖書名稱:華為云web前端成長計劃,圖書單價:166.0

      Java

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:服務(wù)器中常用的幾個資源監(jiān)控工具整理
      下一篇:MySQL數(shù)據(jù)庫百萬數(shù)據(jù)量導(dǎo)入爬坑
      相關(guān)文章
      亚洲成A人片在线观看无码不卡| 亚洲国产成人精品无码一区二区| 亚洲精品视频在线观看视频| 亚洲综合色自拍一区| 亚洲精品动漫免费二区| 亚洲人xxx日本人18| 亚洲av产在线精品亚洲第一站| 亚洲精品中文字幕无乱码| 久久亚洲精精品中文字幕| 久久久久亚洲AV成人片| 亚洲黄色一级毛片| 亚洲精品国产情侣av在线| 亚洲毛片基地日韩毛片基地| 亚洲毛片无码专区亚洲乱| 亚洲丝袜中文字幕| 亚洲成A人片在线播放器| 亚洲熟妇无码AV| 爱爱帝国亚洲一区二区三区| 色综合久久精品亚洲国产| 色综合久久精品亚洲国产| 国产午夜亚洲精品不卡| 亚洲国产成人久久综合区| 亚洲综合精品网站| 在线亚洲人成电影网站色www| 亚洲人成77777在线播放网站| 久久精品国产亚洲一区二区| 亚洲国产综合专区在线电影| 久久亚洲美女精品国产精品 | 亚洲国产精品第一区二区| 亚洲欧洲在线观看| 亚洲日韩中文字幕| 亚洲国产成a人v在线| 亚洲精品无码mⅴ在线观看| 国产成人亚洲精品无码AV大片| 亚洲片国产一区一级在线观看| 亚洲色婷婷一区二区三区| 亚洲av激情无码专区在线播放| 亚洲综合激情九月婷婷| 亚洲国产精品综合久久20| 亚洲AV无码成人精品区狼人影院| 亚洲国产成人精品女人久久久 |