1. 程式人生 > >java.io.Reader 和 java.io.InputStream的區別

java.io.Reader 和 java.io.InputStream的區別

java.io.Reader 和 java.io.InputStream 組成了 Java 輸入類。Reader 用於讀入16位字元,也就是 Unicode 編碼的字元;而 InputStream 用於讀

入 ASCII 字元和二進位制資料。
在 Java 中,有不同型別的 Reader 輸入流對應於不同的資料來源:

    FileReader 用於從檔案輸入;

    CharArrayReader 用於從程式中的字元陣列輸入;

    StringReader 用於從程式中的字串輸入;

    PipedReader 用於讀取從另一個執行緒中的 PipedWriter 寫入管道的資料。

相 應的也有不同型別的 InputStream 輸入流對應於不同的資料來源:FileInputStream,ByteArrayInputStream, StringBufferInputStream,

PipedInputStream。另外,還有兩種沒有對應 Reader 型別的 InputStream 輸入流:

    Socket 用於套接字;

    URLConnection 用於 URL 連線。

這兩個類使用 getInputStream() 來讀取資料。

相應的,java.io.Writer 和 java.io.OutputStream 也有類似的區別。 

相關推薦

java.io.Reader java.io.InputStream區別

java.io.Reader 和 java.io.InputStream 組成了 Java 輸入類。Reader 用於讀入16位字元,也就是 Unicode 編碼的字元;而 InputStream 用於讀 入 ASCII 字元和二進位制資料。 在 Java 中,有不同型別的

Java IO: ReaderWriter

作者: Jakob Jenkov 譯者: 李璟([email protected]) Reader 原文連結 Reader是Java IO中所有Reader的基類。Reader與InputStream類似,不同點在於,Reader基於字元而非基於位元組。換句話說,Reader用於讀取

javax.xml + java.io xmljava物件互轉工具類

import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshall

java序列化阻塞IO模型實現RPC

RPC是遠端過程呼叫,對於java而言,就是兩個JVM通訊,一個JVM a想要呼叫另一個JVM b中的類。b把執行結果在傳送給a的過程。好,我們就是要來實現這個過程。 兩個介面: public interface IDiff { double diff(double a,d

Java中PreparedStatementStatement的用法區別

aik txt 實例 什麽 一點 所有 一個 drop passwd Java中PreparedStatement和Statement的用法區別 (2012-08-01 11:06:44) 轉載▼ 標簽: 雜談 1、 PreparedStatem

java.sql.datejava.util.date的區別轉換

有時 sim .text sel ron valueof sql 方法 b- 不同點:java.util.Date是在除了SQL語句的情況下面使用的。java.sql.Date是針對SQL語句使用的,它只包含日期而沒有時間部分java.util.Date 是 java.sq

java抽象類普通類的區別

java 類實例化 有一種 之前 代碼 普通 bsp 都在 class 1.抽象類不能被實例化。 2.抽象類可以有構造函數,被繼承時子類必須繼承父類一個構造方法,抽象方法不能被聲明為靜態。 3.抽象方法只需申明,而無需實現,抽象類中可以允許普通方法有主體 4.含有抽象方法的

java.util.Datejava.sql.Date的區別相互轉化(轉)

分開 hid 包含 strong stat 日常 互轉 timestamp edate 轉自:http://blog.csdn.net/qin_zhimou/article/details/55509769 共同點:都有getTime方法返回毫秒數,可以直接構建 不同點:

Java中過濾器攔截器的區別

區別 對象 pos ava 初始 反射機制 action 調用 反射 1.攔截器是基於java反射機制的,而過濾器是基於函數回調的。 2.過濾器依賴於servlet容器,而攔截器不依賴於servlet容器。 3.攔截器只對action起作用,而過濾器幾乎可以對所有請求起作用

Java中waitsleep方法的區別

lee join 告訴 inter art 過程 lam 兩個 一次 1、兩者的區別 這兩個方法來自不同的類分別是Thread和Object 最主要是sleep方法沒有釋放鎖,而wait方法釋放了鎖,使得其他線程可以使用同步控制塊或者方法(鎖代碼塊和方法鎖)。 w

Java的StartRunnable方法的區別

thread類 普通 lan jvm jce 開始 thread 結束 得到 兩種方法的區別 1) start:用法:start方法來啟動線程,真正實現了多線程運行,這時無需等待run方法體代碼執行完畢而直接繼續執行下面的代碼。通過調用Thread類的start()方法來啟

java 抽象類接口的區別

成員 定義 繼承體系 區別 理念 的區別 功能 成員變量 構造 成員區別 抽象類: 成員變量:可以變量,也可以常量 構造方法:有 成員方法:可以抽象,也可以非抽象 接口: 成員變量:只可以是常量 成員方法:只可以抽象 關系區別 類與類:

java 中sendredirect()forward()方法的區別

rect 次數 報錯 nec 重定向 web服務 單獨 exception aca 一.文章1 HttpServletResponse.sendRedirect與RequestDispatcher.forward方法都可以實現獲取相應URL資源。 sendRedirect

java 陣列length字串length的區別

陣列有length屬性,沒有length()方法,如: int[] a; a.lengh;   //返回a的長度。 String只有length()方法,沒有length屬性,如: String s; s.length();  &nb

java中物件物件引用的區別

1.何謂物件?   在Java中有一句比較流行的話,叫做“萬物皆物件”,這是Java語言設計之初的理念之一。要理解什麼是物件,需要跟類一起結合起來理解。下面這段話引自《Java程式設計思想》中的一段原話:   “按照通俗的說法,每個物件都是某個類(class)的一個例項(instance),這裡,‘

Java| String.valueOfInteger.toString的區別

示例程式碼: int i = 4; String i1 = "" + i; //String i1 = (new StringBuilder()).append(i).toString(); String i2 = String.valueOf(i);

JAVA:介面抽象類的區別

1.從設計層面來說,抽象是對類的抽象,是一種模板設計 ,介面是行為的抽象,是一種行為的規範 介面 interface 抽象類 介面中所有方法都是抽象的 抽象類中可以有抽象方法和普通方法 一

JAVA:方法重寫方法過載的區別

                                          &

java中heapstack有什麼區別

java的記憶體分為兩類,一類是棧記憶體,一類是堆記憶體。棧記憶體是指程式進入一個方法時,會為這個方法單獨分配一塊私屬儲存空間,用於儲存這個方法內部的區域性變數,當這個方法結束時,分配給這個方法的棧會釋放,這個棧中的變數也將隨之釋放。     &nbs

Java 覆寫過載定義與區別 (面試題)

覆寫和過載 方法的覆蓋(Overriding)和過載(Overloading)是Java多型性的不同表現。覆蓋(也可以叫重寫,覆寫)是父類與子類之間多型性的一種表現,而過載是一個類中多型性的一種表現。 (一)覆寫: 1.方法的覆寫(****重點,Java核心) 定義:子類定義