java week 12 ——流與檔案

來源:互聯網
上載者:User

標籤:ast   ima   編碼   讀寫檔案   src   對象   檔案   讀取資料   ble   

1. 本周學習總結1.1 以你喜歡的方式(思維導圖或其他)歸納總結多流與檔案相關內容。

2. 面向系統綜合設計-圖書館管理系統或購物車使用流與檔案改造你的圖書館管理系統或購物車。2.1 簡述如何使用流與檔案改造你的系統。檔案中資料的格式如何?2.2 簡述系統中檔案讀寫部分使用了流與檔案相關的什麼介面與類?為什麼要###用這些介面與類?2.3 讀寫檔案相關代碼。關鍵行需要加註釋。3. 代碼量統計3.1 統計本周完成的代碼量需要將每周的代碼統計情況融合到一張表中。

選做:4. 流與檔案學習指導(底下的作業內容全部都是選做)1. 字元流與文字檔:使用 PrintWriter(寫),BufferedReader(讀)將 Student對象(屬性:int id, String name,int age,double grade)寫入檔案###student.data、從檔案讀出顯示。1.1 產生的三個學生對象,使用 PrintWriterprintln方法寫入student.txt,每行###一個學生,學生的每個屬性之間用|作為分隔。使用Scanner或者###BufferedReader將student.txt的資料讀出。(關鍵代碼,出現學號)

1.2 組建檔案大小多少(使用右鍵檔案屬性查看)?分析該檔案大小

答:產生大小的檔案為48位元組。

1.3 如果調用 PrintWriterprintln方法,但在後面不 close。檔案大小是多少?為什嗎?

答:檔案大小變成0位元組,因為使用close()方法時關閉了這個流,在這個過程中調用了flush()方法,同時將重新整理writeroutputStream鏈中的所有緩衝區,導致資料的丟失。

2. 緩衝流2.1 使用 PrintWriter往檔案裡寫入1千萬行(隨便什麼內容都行),然後對比使用###BufferedReader與使用Scanner從該檔案中讀取資料的速度(唯讀取,不輸###出),使用哪種方法快?截取測試原始碼,出現學號。請詳細分析原因?提示:可以使用junit4對比已耗用時間

答:使用BufferedReader更快,因為它的緩衝區更大,使用時可以減少對檔案的操作次數。

2.2 將 PrintWriter換成 BufferedWriter,觀察寫入檔案的速度是否有提升。記錄兩者的已耗用時間。試分析原因。

答:使用BufferedWriter寫檔案更快,因為使用了緩衝技術。

4. 位元組流、二進位檔案: DataInputStream, DataOutputStreamObjectInputStream4.1 參考 DataStream目錄相關代碼,嘗試將三個學生對象的資料寫入檔案,然後從檔案讀出並顯示。(關鍵代碼,出現學號)


運行結果如下:

4.2 這裡產生的檔案和題目1產生的檔案有何不一樣?產生的檔案有多大?分析###該檔案大小?將該檔案大小和題目1產生的檔案對比是大了還是小了,為什嗎?

答:比題目1產生的檔案大,因為使用UTF-8編碼隱藏檔,漢字所佔位元組數比較大。

java week 12 ——流與檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.