資源描述:
《javaio流的圖解及代碼操作》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、javaio流的圖解及代碼操作流式IO流(Stream)是字節(jié)的源或目的。兩種基本的流是:輸入流(InputStream)和輸出流(OutputStream)。可從中讀出一系列字節(jié)的對象稱為輸入流。而能向其中寫入一系列字節(jié)的對象稱為輸出流。流的分類節(jié)點流:從特定的地方讀寫的流類,例如:磁盤或一塊內(nèi)存區(qū)域。過濾流:使用節(jié)點流作為輸入或輸出。過濾流是使用一個已經(jīng)存在的輸入流或輸出流連接創(chuàng)建的。InputStream三個基本的讀方法?????abstractintread():讀取一個字節(jié)數(shù)據(jù),并返回讀到的數(shù)據(jù),如果返回-1,表示讀到了輸入流的末尾
2、。?????intread(byte[]?b):將數(shù)據(jù)讀入一個字節(jié)數(shù)組,同時返回實際讀取的字節(jié)數(shù)。如果返回-1,表示讀到了輸入流的末尾。?????intread(byte[]?b,int?off,int?len):將數(shù)據(jù)讀入一個字節(jié)數(shù)組,同時返回實際讀取的字節(jié)數(shù)。如果返回-1,表示讀到了輸入流的末尾。off指定在數(shù)組b中存放數(shù)據(jù)的起始偏移位置;len指定讀取的最大字節(jié)數(shù)。其它方法?????longskip(long?n):在輸入流中跳過n個字節(jié),并返回實際跳過的字節(jié)數(shù)。?????intavailable():返回在不發(fā)生阻塞的情況下,可讀取的
3、字節(jié)數(shù)。?????voidclose():關(guān)閉輸入流,釋放和這個流相關(guān)的系統(tǒng)資源。?????voidmark(int?readlimit):在輸入流的當前位置放置一個標記,如果讀取的字節(jié)數(shù)多于readlimit設(shè)置的值,則流忽略這個標記。?????voidreset():返回到上一個標記。?????booleanmarkSupported():測試當前流是否支持mark和reset方法。如果支持,返回true,否則返回false。java.io包中InputStream的類層次OutputStream三個基本的寫方法????abstractv
4、oidwrite(int?b):往輸出流中寫入一個字節(jié)。????voidwrite(byte[]?b):往輸出流中寫入數(shù)組b中的所有字節(jié)。????voidwrite(byte[]?b,int?off,int?len):往輸出流中寫入數(shù)組b中從偏移量off開始的len個字節(jié)的數(shù)據(jù)。其它方法????voidflush():刷新輸出流,強制緩沖區(qū)中的輸出字節(jié)被寫出。????voidclose():關(guān)閉輸出流,釋放和這個流相關(guān)的系統(tǒng)資源。java.io包中OutputStream的類層次——————————————————————————-—————
5、—————————————————————-Demo1:在控制臺讀取鍵盤輸入,然后顯示。Ctrl+C結(jié)束運行——————————————————————————-??import??java.io.?*?;??public???class??StreamDemo???{?????public???static???void??main(String[]?args)??throws??Exception???{???int??data;??????while??((data??=??System.in.read())??!=???-?1?)??
6、?{???System.out.write(data);??}????}????}???——————————————————————————-——————————————————————————-基本的流類?1、FileInputStream和FileOutputStream?????節(jié)點流,用于從文件中讀取或往文件中寫入字節(jié)流。如果在構(gòu)造FileOutputStream時,文件已經(jīng)存在,則覆蓋這個文件?!?Demo2:將字符串寫入特定文件,注意write方法只接收字符數(shù)組?!?/p>
7、—————————————————-???import??java.io.?*?;?????public???class??StreamDemo???{??????public???static???void??main(String[]?args)??throws??Exception???{???FileOutputStream?fos??=???new??FileOutputStream(?"?1.txt?"?);??????/**/?/*?????*?注意:FileOutputStream的write方法接收字符數(shù)組,不能接收Stri
8、ng字符串,???*?所以要用String的getBytes方法生成一個字符數(shù)組?????*/???fos.write(?"?http://www.cnblogs.