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