資源描述:
《javaIO整理資料》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、關(guān)于IO流的知識點一、IO流的三種分類方式???1.按流的方向分為:輸入流和輸出流???2.按流的數(shù)據(jù)單位不同分為:字節(jié)流和字符流???3.按流的功能不同分為:節(jié)點流和處理流二、IO流的四大抽象類:·Java的字節(jié)流InputStream是所有字節(jié)輸入流的祖先,而OutputStream是所有字節(jié)輸出流的祖先。·Java的字符流Reader是所有讀取字符串輸入流的祖先,而writer是所有輸出字符串的祖先。字節(jié)流字符流輸入流???????InputStream???????????Reader輸出流???????OutputStream???????????Writer???字符
2、流:ReaderWriter???字節(jié)流:InputStream(讀數(shù)據(jù))???OutputStream(寫數(shù)據(jù))???三、InputStream的基本方法???intread()throwsIOException讀取一個字節(jié)以整數(shù)形式返回,如果返回-1已到輸入流的末尾???voidclose()throwsIOException關(guān)閉流釋放內(nèi)存資源???longskip(longn)throwsIOException跳過n個字節(jié)不讀???四、OutputStream的基本方法???voidwrite(intb)throwsIOException向輸出流寫入一個字節(jié)數(shù)據(jù)???voi
3、dflush()throwsIOException將輸出流中緩沖的數(shù)據(jù)全部寫出到目的地???五、Writer的基本方法???voidwrite(intc)throwsIOException向輸出流寫入一個字符數(shù)據(jù)???voidwrite(Stringstr)throwsIOException將一個字符串中的字符寫入到輸出流???voidwrite(Stringstr,intoffset,intlength)???將一個字符串從offset開始的length個字符寫入到輸出流???voidflush()throwsIOException???將輸出流中緩沖的數(shù)據(jù)全部寫出到目的地??
4、?六、Reader的基本方法???intread()throwsIOException讀取一個字符以整數(shù)形式返回,如果返回-1已到輸入流的末尾???七、節(jié)點流類型???八、訪問文件FileInputStream和FileOutputStream繼承基類用于向文件中輸入輸出字節(jié)???九、訪問文件FileReader和FileWriter繼承基類用于向文件中輸入輸出字符----輸出流在構(gòu)造函數(shù)第二個參數(shù)可以設(shè)置true意義為跟在已有文件后進行輸入----此類流會拋出FileNotFoundException需要對其進行顯示捕捉?十、緩沖流:緩沖流要套接在相應(yīng)的節(jié)點流之上,提高了讀寫的
5、效率。???此處理流的構(gòu)造方法都得傳相對應(yīng)的基類類型???BufferedReader:提供了readLine方法用于高校讀取一行字符串???BufferedWriter:提供了newLine用于寫入一個行分隔符也就是換行???BufferedInputStream沒多大用處???BufferedOutputStream沒多大用處???十一、轉(zhuǎn)換流:主要作用將字節(jié)流轉(zhuǎn)換成字符流。用處較大!???轉(zhuǎn)換流在構(gòu)造時可以指定其編碼集合???InputStreamReader需要和InputStream套接???OutputStreamWriter需要和OutputStream套接???例
6、:OutputStreamWriterosw=newOutputStreamWriter(newFileOutputStream(文件路徑);???方法例:osw.getEncoding();獲得流的編碼方式???十二、數(shù)據(jù)流與字節(jié)數(shù)組流:???數(shù)據(jù)流主要為實現(xiàn)可以存取Java原始數(shù)據(jù)類型如long,boolean???數(shù)據(jù)流是字節(jié)流???DataInputStream需要和InputStream套接???DataOutputStream需要和OutputStream套接???DataInputStream方法:readBoolean()readInt()read……()……??
7、?readUTF():網(wǎng)絡(luò)傳輸常用方法讀一個Unicode字符串???DataOutputStream方法與DataInputStream基本對應(yīng)為寫的方法???//此構(gòu)造函數(shù)等于已可以往一個字節(jié)數(shù)組里輸入內(nèi)容???ByteArrayOutputStreambaos=newByteArrayOutputStream();???//此方法為獲取一個字節(jié)數(shù)組方法返回字節(jié)數(shù)組???baos.toByteArray();???//此方法獲取字節(jié)數(shù)組占了多少字節(jié)???newByteArra