數據流的概念
?
?
在
Java
中,把所有的輸入和輸出都當做流來處理。
“
流
”
是一個抽象概念,它代表任何有能力產出數據的數據源對象或者是有能力接收數據的接收端對象。
“
流
”
屏蔽了實際的輸入
/
輸出設備中處理數據的細節。一個程序可以打開一個數據源上的流,然后按順序讀取這個流中的數據到程序中,這樣的流稱為輸入流,其過程如圖所示。一個程序也可以打開一個目的地的流,然后按順序的把程序中的數據寫入到這個目地中,這樣的流稱為輸出流
加深理解:輸入輸出是相對程序而言的。。。
?
流的分類
Java
的輸入/輸出流中,根據它們的數據類型,主要可分為兩類:字符流(Character Stream)和字節流(Btye Stream)。
?
兩種分法
1.Java
的輸入
/
輸出流中,根據它們的數據類型,主要可分為兩類:字符流
(Character Stream)
和字節流
(Btye Stream)
。
u?????
字符流
(character Stream)
字符流的輸入
/
輸出數據是字符碼,
即
Unicode
字符。字符流有兩個基本類:
Reader
類和
Writer
類。
Reader
類用于處理字符輸入流,
Writer
類用于處理字符輸出流。
它們都是抽象類,本身不能直接用來創建對象。提供了一些方法。
?
u?????
字節流
(Btye Stream)
?
字節流是按字節讀
/
寫二進制數據。
字節流有兩個基本的類:
InputStream
類和
OutputStream
類。
InputStream
類用于處理字節輸入流,
OutputStream
類用于處理字節輸出流。它們都是抽象類,本身不能直接用來創建對象。
InputStream
類和
OutputStream
類為其它字節輸入
/
輸出流子類提供了一些基本方法和標準接口。
?
2.按照流是否直接與特定的地方(如磁盤、內存等)相連,分為節點流與處理流。
u??????
節點流:可以從或者向一個特定的地方(節點)讀寫數據。如文件流
FileReader
。
?
u??????
處理流:是對一個已經存在的流的連接和封裝,通過所封裝的流的功能調用實現數據讀、寫功能。處理流也稱過濾流,如緩沖處理流
BufferedReader
。
待續。。。。