- 相關(guān)推薦
JAVA IO操作知識(shí)匯總
Java的核心庫(kù)java.io提供了全面的IO接口。包括:文件讀寫(xiě)、標(biāo)準(zhǔn)設(shè)備輸出等。Java中IO是以流為基礎(chǔ)進(jìn)行輸入輸出的,所有數(shù)據(jù)被串行化寫(xiě)入輸出流,或者從輸入流讀入。下面YJBYS小編為大家整理了關(guān)于JAVA IO操作知識(shí)匯總的文章,希望對(duì)你有所幫助。
一、流的概念
流是字節(jié)序列的抽象概念。流和文件的差別:文件是數(shù)據(jù)的靜態(tài)存儲(chǔ)形式,而流是指數(shù)據(jù)傳輸時(shí)的形態(tài)。文件只是流的操作對(duì)象之一。流按其操作的對(duì)象不同可以分為文件流、網(wǎng)絡(luò)流、內(nèi)存流、磁帶流等。Java流類(lèi)可分為兩個(gè)大類(lèi):節(jié)點(diǎn)流類(lèi)和過(guò)濾流類(lèi)(也叫處理流類(lèi))
1、節(jié)點(diǎn)流類(lèi):用于直接操作目標(biāo)設(shè)備所對(duì)應(yīng)的流類(lèi)。節(jié)點(diǎn)流類(lèi)所對(duì)應(yīng)的IO源或目標(biāo)稱(chēng)為流節(jié)點(diǎn)。比如我們用一個(gè)類(lèi)和一個(gè)文件或網(wǎng)絡(luò)相關(guān)聯(lián),那么這個(gè)類(lèi)就叫做節(jié)點(diǎn)流類(lèi),這個(gè)文件或網(wǎng)絡(luò)就叫做流的節(jié)點(diǎn)。
二、InputStream和OutputStream類(lèi)
1、InputStream類(lèi):程序可以從中連續(xù)讀取字節(jié)的對(duì)象叫輸入流,在Java中,用InputStream類(lèi)來(lái)描述所有輸入流的抽象概念。這個(gè)類(lèi)是抽象類(lèi)。
2、OutputStream類(lèi):程序可以向其連續(xù)寫(xiě)入字節(jié)的對(duì)象叫輸出流,在Java中,用OutputStream類(lèi)來(lái)描述所有輸出流的抽象概念。這個(gè)類(lèi)也是抽象類(lèi)。
三、FileInputStream和FileOutputStream類(lèi)
1、這兩個(gè)類(lèi)分別用來(lái)創(chuàng)建磁盤(pán)文件的輸入流和輸出流對(duì)象,通過(guò)他們的構(gòu)造函數(shù)來(lái)指定文件路徑和文件名。
2、有兩種方法創(chuàng)建FileInputStream
(1)、FileInputStream inFirst = new FileInputStream("test.txt");
(2)、File f = new File("test.txt");
FileInputStream inSecond = new FileInputStream(f);
四、Reader和Writer類(lèi)
1、上面的幾個(gè)類(lèi),他們?cè)谧x取或?qū)懭氲臅r(shí)候,都是進(jìn)行字節(jié)操作,要顯示出來(lái)還要進(jìn)行字符串轉(zhuǎn)換。
2、用Reader和Writer類(lèi)就可以直接進(jìn)行字符串讀取,簡(jiǎn)化了字符串的輸入輸出編程。但他們都是抽象類(lèi),用他們的子類(lèi)FileReader、FileWriter就可以直接使用。
五、PipedInputStream和PipedOutputStream類(lèi)
PipedInputStream和PipedOutputStream類(lèi)用于在應(yīng)用程序中創(chuàng)建管道通信。一般用在進(jìn)程間通信。
六、PipedWriter和PipedReader類(lèi)
這兩個(gè)類(lèi)用于在管道中的字符串通信。
七、ByteArrayInputStream和ByteArrayOutputStream類(lèi)
ByteArrayInputStream和ByteArrayOutputStream,用于以IO流的方式來(lái)完成對(duì)字節(jié)數(shù)組內(nèi)容的讀寫(xiě),來(lái)支持類(lèi)似內(nèi)存虛擬文件或者內(nèi)存映像文件的功能。
【JAVA IO操作知識(shí)】相關(guān)文章:
Java入門(mén)基礎(chǔ)知識(shí):Java IO(輸入/輸出)09-23
Linux系統(tǒng)基礎(chǔ)知識(shí):IO調(diào)度07-26
JAVA認(rèn)證基礎(chǔ)知識(shí):JSP使用數(shù)據(jù)庫(kù)操作06-10
Java數(shù)組操作方法大全08-22
Java的基礎(chǔ)知識(shí)07-27
Java代碼的基本知識(shí)10-26
Java基礎(chǔ)知識(shí)詳解09-02
Java知識(shí)點(diǎn)歸納08-16