更新時(shí)間:2022年07月14日11時(shí)33分 來源:傳智教育 瀏覽次數(shù):
在程序開發(fā)中,經(jīng)常會(huì)需要處理設(shè)備之間的數(shù)據(jù)傳輸,而計(jì)算機(jī)中,無(wú)論是文本、圖片、音頻,還是視頻,所有文件都是以二進(jìn)制(字節(jié))形式存在的。為字節(jié)的輸入/輸出(I/O)流提供的一系列的流,統(tǒng)稱為字節(jié)流,字節(jié)流是程序中最常用的流,根據(jù)數(shù)據(jù)的傳輸方向可將其分為字節(jié)輸入流和字節(jié)輸出流。
在JDK中,提供了兩個(gè)抽象類InputStream和OutputStream,它們是字節(jié)流的頂級(jí)父類,所有的字節(jié)輸入流都繼承自InputStream,所有的字節(jié)輸出流都繼承自O(shè)utputStream。為了便于理解,可以把InputStream和OutputStream比作兩根水管,如圖7-12所示。
圖7-12 InputStream和OutputStream
圖7-12中,InputStream看成一個(gè)輸入管道,OutputStream看成一個(gè)輸出管道,數(shù)據(jù)通過InputStream從源設(shè)備輸入到程序,通過OutputStream從程序輸出到目標(biāo)設(shè)備,從而實(shí)現(xiàn)數(shù)據(jù)的傳輸。由此可見,I/O流中的輸入/輸出都是相對(duì)于程序而言的。