Week12《java程序設計》第12次做業總結

Week12《java程序設計》第12次做業總結

1. 本週學習總結

1.1 以你喜歡的方式(思惟導圖或其餘)概括總結多流與文件相關內容。

2. 面向系統綜合設計-圖書館管理系統或購物車

使用流與文件改造你的圖書館管理系統或購物車。java

2.1 簡述如何使用流與文件改造你的系統。文件中數據的格式如何?

答:在註冊登陸模塊中,在用戶倉庫中沒法找到的用戶,使用對象流和緩衝流查找對應文件是否存在,不存在就進行註冊。從文件中讀取影虎的登陸信息。登陸成功後,使用組合過濾流讀取用戶的書庫信息。學習

2.2 簡述系統中文件讀寫部分使用了流與文件相關的什麼接口與類?爲何要用這些接口與類?

答:使用的類有ObjectInputStream,ObjectOutputStream,BufferedInputStream,BufferedOutputStream,FileInputStream, FileOutputStream。使用對象流ObjectInputStream和ObjectOutputStream將內存中的對象整個存儲和還原。使用BufferedInputStream,BufferedOutputStream緩衝流提升讀寫的效率。FileInputStream, FileOutputStream打開文件和輸出數據到文件中。測試

2.3 截圖讀寫文件相關代碼。關鍵行須要加註釋。

答:
設計

3. 代碼量統計

3.1 統計本週完成的代碼量

須要每週的代碼統計狀況融合到一張表中。
3d

周次 總代碼量 新增代碼量 總文件數 新增文件數
1 0 0 0 0
2 0 0 0 0
3 0 0 0 0
4 0 0 0 0
5 739 739 16 16
6 1084 345 28 12
7 1180 96 30 2
8 1627 447 35 5
9 1986 359 44 9
10 2350 364 56 12
11 2534 184 61 5
12 2909 375 70 9
13 4135 1226 93 23

選作:4. 流與文件學習指導(底下的做業內容所有都是選作)

1. 字符流與文本文件:使用 PrintWriter(寫),BufferedReader(讀)

將Student對象(屬性:int id, String name,int age,double grade)寫入文件student.data、從文件讀出顯示。對象

1.1 生成的三個學生對象,使用PrintWriter的println方法寫入student.txt,每行一個學生,學生的每一個屬性之間用|做爲分隔。使用Scanner或者BufferedReader將student.txt的數據讀出。(截圖關鍵代碼,出現學號)

答:
blog

1.2 生成文件大小多少(使用右鍵文件屬性查看)?分析該文件大小

答:文件大小爲45個字節:
接口

1.3 若是調用PrintWriter的println方法,但在後面不close。文件大小是多少?爲何?

答:0個字節,緩衝區的數據由於沒有close而丟失。
內存

2. 緩衝流

2.1 使用PrintWriter往文件裏寫入1千萬行(隨便什麼內容都行),而後對比使用BufferedReader與使用Scanner從該文件中讀取數據的速度(只讀取,不輸出),使用哪一種方法快?截取測試源代碼,出現學號。請詳細分析緣由?提示:可使用junit4對比運行時間

答:使用BufferedReader的讀取速度較快。
運行截圖:

源代碼:


it

2.2 將PrintWriter換成BufferedWriter,觀察寫入文件的速度是否有提高。記錄二者的運行時間。試分析緣由。

答:換成BufferedWriter之後,寫入文件的速度有很大提高。直接從緩衝區寫出數據,沒必要在等待緩衝區數據滿的時間。

相關文章
相關標籤/搜索