簡體   English   中英

java閱讀器與流

[英]java reader vs. stream

我正在閱讀有關Java I / O的內容,並發現了一些有趣的領域,如流,讀者等。

 InputStream input = new FileInputStream("input-file.txt");
 int data = input.read();
 while(data != -1){
   data = input.read();
 }

我可以通過如下使用讀者來做同樣的事情:

Reader reader = new FileReader("input-file.txt");
 int data = reader.read();
 while(data != -1){
     char dataChar = (char) data;
     data = reader.read();
 }

據我所知,Streams用於從連續流動的數據中檢索輸入。

現在我對Streams和讀者之間的區別感到困惑; 如果我們用一個緩沖的閱讀器包裹流 - 它如何打破線條,因為流是一個不斷流動的東西。

我發現了一些像這個網站的參考網站。 但我無法理解其中的區別。

請有人幫我理解一下嗎?

讀者應閱讀具有特定字符編碼的文本數據(UTF-8,ISO等...)

而另一方面,流是二進制數據。

它們的工作方式相同,但父類不同。

簡而言之,如果您必須讀取二進制數據並將其保存在某處,請使用流。

如果您必須閱讀特定編碼的文本然后使用它,請使用閱讀器。

希望這個答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM