Java的IO系統

來源:互聯網
上載者:User

“對語言設計人員來說,建立好的輸入/輸出系統是一項特別困難的任務。”

由於存在大量不同的設計方案,所以該任務的困難性是很容易證明的。其中最大的挑戰似乎是如何覆蓋所有可能的因素。不僅有三種不同的種類的IO需要考慮(檔案、控制台、網路連接),而且需要通過大量不同的方式與它們通訊(順序、隨機訪問、二進位、字元、按行、按字等等)。
Java庫的設計者通過建立大量類來攻克這個難題。事實上,Java的IO系統採用了如此多的類,以致剛開始會產生不知從何處入手的感覺(具有諷刺意味的是,Java的IO設計初衷實際要求避免過多的類)。從Java 1.0升級到Java 1.1後,IO庫的設計也發生了顯著的變化。此時並非簡單地用新庫替換舊庫,Sun的設計人員對原來的庫進行了大手筆的擴充,添加了大量新的內容。因此,我們有時不得不混合使用新庫與舊庫,產生令人無奈的複雜代碼。
本章將協助大家理解標準Java庫內的各種IO類,並學習如何使用它們。本章的第一部分將介紹“舊”的Java 1.0 IO流庫,因為現在有大量代碼仍在使用那個庫。本章剩下的部分將為大家引入Java 1.1 IO庫的一些新特性。注意若用Java 1.1編譯器來編譯本章第一部分介紹的部分代碼,可能會得到一條“不建議使用該特性”(Deprecated feature)警告訊息。代碼仍然能夠使用;編譯器只是建議我們換用本章後面要講述的一些新特性。但我們這樣做是有價值的,因為可以更清楚地認識老方法與新方法之間的一些差異,從而加深我們的理解(並可順利閱讀為Java 1.0寫的代碼)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.