資源描述:
《Java輸入輸出系統(tǒng)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、7Java輸入輸出系統(tǒng)內(nèi)容什么是流流的分類字節(jié)流,字符流,處理流文件IO操作文件類File標(biāo)準(zhǔn)輸入輸出對(duì)象的序列化什么是流?StreamStreamStreamStreamAstreamisapathofinformationfromasourcetoadestination.doc.txt…www.sohu.com什么是流?程序設(shè)計(jì)語言借用水流、電流等概念,將流動(dòng)的數(shù)據(jù)稱為“流”。流可以有各種來源和目的地,如標(biāo)準(zhǔn)輸入輸出、文件、網(wǎng)絡(luò)等,也可以有各種不同的用途和處理方法,因而有許多分類。Java關(guān)于流的設(shè)計(jì)思想是:提供各種不
2、同的流類,由程序員進(jìn)行組合使用,以提供最大的靈活性。流的功能概述Java提供了不同的流類以實(shí)現(xiàn)如下的功能標(biāo)準(zhǔn)輸入輸出文件輸入輸出文本文件/二進(jìn)制文件順序讀寫/隨機(jī)讀寫java.nio包進(jìn)一步提供了異步數(shù)據(jù)讀寫、內(nèi)存映射文件、文件鎖等功能網(wǎng)絡(luò)數(shù)據(jù)讀寫將對(duì)象存儲(chǔ)為流/從流中讀取對(duì)象,稱為對(duì)象的序列化或串行化(Serialization)流的分類java.io包提供了多個(gè)流類來實(shí)現(xiàn)輸入輸出功能:按照數(shù)據(jù)流的方向不同分為輸入流和輸出流按照處理數(shù)據(jù)單位的不同分為字節(jié)流和字符流按照功能不同可以分為節(jié)點(diǎn)流和處理流(或者稱過濾流,F(xiàn)ilte
3、r)流的分類InputStreamOutputStreamReaderWriterByteStreamsCharacterStreams讀寫以字節(jié)為單位進(jìn)行讀寫以字符為單位進(jìn)行流的分類節(jié)點(diǎn)流(nodestream)對(duì)指定的地方(磁盤文件、內(nèi)存等)讀/寫處理流(filterstream)一個(gè)處理流使用節(jié)點(diǎn)流作為輸入或輸出。目的地?cái)?shù)據(jù)源InputStream的分類InputStream是字節(jié)輸入流。它的幾種輸入源可以是:1.一個(gè)字節(jié)數(shù)組2.一個(gè)文件3.一個(gè)管道InputStream的分類常用的InputStream流有下列幾個(gè):
4、ByteArrayInputStreamFileInputStreamPipedInputStream//把字節(jié)數(shù)組轉(zhuǎn)換為輸入流//從文件中讀取數(shù)據(jù)//連接一個(gè)PipedOutputStreamInputStream的方法InputStream的常用方法:publicabstractintread()throwsIOExceptionpublicintread(byte[]data)throwsIOExceptionpublicintread(byte[]data,intoffset,intlength)throwsIOEx
5、ceptionpubliclongskip(longn)throwsIOExceptionpublicintavailable()throwsIOExceptionpublicvoidclose()throwsIOExceptionpublicvoidmark(intreadlimit)publicvoidreset()throwsIOExceptionpublicbooleanmarkSupported()OutputStream的分類OutputStream是字節(jié)輸出流。它的幾種輸出目的地可以是:1.一個(gè)字節(jié)數(shù)組2.一個(gè)
6、文件3.一個(gè)管道OutputStream的分類常用的OutputStream流有下列幾個(gè):ByteArrayOutputStreamFileOutputStreamPipedOutputStreamOutputStream的方法OutputStream的常用方法:publicabstractvoidwrite(intb)throwsIOExceptionpublicvoidwrite(byte[]data)throwsIOExceptionpublicvoidwrite(byte[]data,intoffset,intlen
7、gth)throwsIOExceptionpublicvoidflush()throwsIOExceptionpublicvoidclose()throwsIOException字節(jié)流示例TestFileInputStream.javaTestFileOutputStream.javaReader&Writer的分類Reader&Writer的分類類似于InputStream和OutputStream的分類。所以下面我們通過一個(gè)表格來做對(duì)比,從而對(duì)Reader&Writer的分類加以介紹。Reader&Writer的分類In
8、putStreamReaderConverter:InputStreamReaderOutputStreamWriterConverter:OutputStreamWriterFileInputStreamFileReaderFileOutputStreamFileWriterString