![馬士兵_j2se第八章流個(gè)人學(xué)習(xí)筆記_第1頁(yè)](http://file4.renrendoc.com/view/61c6bf33b959712c22cb0c7acd48b71b/61c6bf33b959712c22cb0c7acd48b71b1.gif)
![馬士兵_j2se第八章流個(gè)人學(xué)習(xí)筆記_第2頁(yè)](http://file4.renrendoc.com/view/61c6bf33b959712c22cb0c7acd48b71b/61c6bf33b959712c22cb0c7acd48b71b2.gif)
![馬士兵_j2se第八章流個(gè)人學(xué)習(xí)筆記_第3頁(yè)](http://file4.renrendoc.com/view/61c6bf33b959712c22cb0c7acd48b71b/61c6bf33b959712c22cb0c7acd48b71b3.gif)
![馬士兵_j2se第八章流個(gè)人學(xué)習(xí)筆記_第4頁(yè)](http://file4.renrendoc.com/view/61c6bf33b959712c22cb0c7acd48b71b/61c6bf33b959712c22cb0c7acd48b71b4.gif)
![馬士兵_j2se第八章流個(gè)人學(xué)習(xí)筆記_第5頁(yè)](http://file4.renrendoc.com/view/61c6bf33b959712c22cb0c7acd48b71b/61c6bf33b959712c22cb0c7acd48b71b5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第八章流1.java 流式輸入輸出流原理 文件(桶) - 流(管道) - 程序2. java 輸入輸出流分類 (輸入輸出相對(duì)于程序來(lái)說(shuō)的,而不是文件)Java.io 包中定義了多個(gè)流類型(類或者抽象類)來(lái)實(shí)現(xiàn)輸入/輸出功能:可以不按數(shù)據(jù)流的方向不同分為輸入流和輸出流按處理數(shù)據(jù)不同分為字節(jié)流和字符流按功能不同分為節(jié)點(diǎn)流和處理流J2SDK 所提供的所有流類型位于包 Java,io 內(nèi)都分別繼承自以下四中抽象流類型。3. 輸入/輸出流類 4 個(gè)1 InputStream 繼承自 InputStream 的流都是用于向程序中輸入數(shù)據(jù),且數(shù)據(jù)的流,淺色為處理流為字節(jié)(8bit),下圖深色為節(jié)點(diǎn)字節(jié)流(S
2、tream)字符流(兩個(gè)字節(jié))輸入流InputStreamReader輸出流OutputStreamWriter1Java 流式輸入/輸出原理2Java 流類的分類輸入,輸出流類常見(jiàn)的節(jié)點(diǎn)流(常見(jiàn):文件流,分為:字符,字節(jié)流/輸入,輸出流)和處理流(常見(jiàn):緩沖流,分為)文件流緩沖流 5 數(shù)據(jù)流 6 轉(zhuǎn)換流 7 Pr流 8 Object 流2010 年 3 月 31 日三, 19:54:28 2010 年 4 月 2 日五 20:00:27InputStream 的基本方法2 OutputStream 繼承自 outputStream 的流都是用于程序中輸入數(shù)據(jù),且數(shù)據(jù)的流,淺色為處理流為字節(jié)(
3、8bit),下圖深色為節(jié)點(diǎn)OutputStream 的基本方法3 Reader 繼承自 Reader 的流都是用于向程序輸入數(shù)據(jù),且數(shù)據(jù)的處理流為字節(jié)(16bit),下圖深色為節(jié)點(diǎn)流,淺色為Reader 的基本用法4 Writer 繼承自 Writer 的流都是用于程序中輸入數(shù)據(jù),且數(shù)據(jù)的處理流為字節(jié)(16bit),下圖深色為節(jié)點(diǎn)流,淺色為writer 的基本用法常見(jiàn)節(jié)點(diǎn)流/處理流節(jié)點(diǎn)流類型(直接寫(xiě)入.不經(jīng)過(guò)處理)4.1.1 常見(jiàn)節(jié)點(diǎn)流:文件流例子:IO TestFileInputStream.java字節(jié)流按一個(gè)字節(jié)一個(gè)字節(jié)import java.io.*;public class Test
4、FileInputStream public sic void main(String args) b = 0;FileInputStream in = null; try 文件in = new FileInputStream(F:My WorkspaceJavaIOTestFileInputStream.java); catch (FileNotFoundException e) System.out.prln(找不到指定文件); System.exit(-1);try /讀數(shù)據(jù) long num = 0;while(b=in.read()!=-1)/讀一個(gè)字節(jié)到變量 b,b=-1 表示Sy
5、stem.out.pr(char)b); num+;/計(jì)數(shù)in.close(); System.out.prln();System.out.prln(共了 +num+ 個(gè)字節(jié)); catch (IOException e1) 完成System.out.prln(文件錯(cuò)誤); System.exit(-1);IOTestFileOutputStream.java 字節(jié)流import java.io.*;public class TestFileOutputStream public sic void main(String args) b = 0;文件FileInputStream in = n
6、ull; /in 為文件輸入流(管道) FileOutputStream out = null;/out 為文件輸流(管道) try in = new FileInputStream(F:/My Workspace/Java/IO/TestFileOutputStream.java);out = new FileOutputStream(F:/My Workspace/Java/IO/copy TestFileOutputStream.java); while(b=in.read()!=-1)out.write(b);in.close();olose(); catch (FileNotFoun
7、dException e2) System.out.prln(找不到指定文件); System.exit(-1); catch (IOException e1) System.out.prln(文件錯(cuò)誤); System.exit(-1);System.out.prln(文件已);IOTestFileReader.java字符流按一個(gè)字符一個(gè)import java.io.*;public class TestFileReader public sic void main(String args) FileReader fr = null;c = 0;try 文件fr = new FileRea
8、der(d:sharejavaioTestFileReader.java);ln = 0;while (c = fr.read() != -1) /char ch = (char) fr.read(); System.out.pr(char)c);/if (+ln = 100) System.out.prln(); ln = 0;fr.close(); catch (FileNotFoundException e) System.out.prln(找不到指定文件); catch (IOException e) System.out.prln(文件錯(cuò)誤);IO TestFileWriter.ja
9、va字符流輸出大多國(guó)家的數(shù)文字import java.io.*;public class TestFileWriter public sic void main(String args) FileWriter fw = null;try fw = new FileWriter(F:My WorkspaceJavaIOunicode.txt);for(c=0;c=50000;c+)fw.write(c);fw.close(); catch (IOException e1) e1.prStackTrace();System.out.prln(文件寫(xiě)入錯(cuò)誤); System.exit(-1);IOT
10、estFileWriter2.java字符流import java.io.*;public class TestFileWriter2 文件 并且每個(gè)字符后面多輸出一個(gè)“|”字符public sic void main(String args) b = 0;FileReader fn = null; FileWriter fw = null;try fn = new FileReader(F:My WorkspaceJavaIOTestFileWriter2.java);fw = new FileWriter(F:My WorkspaceJavaIOcopy TestFileWriter2.t
11、xt);while(b = fn.read()!=-1)fw.write(“|”); fw.write(b);fn.close();fw.close(); catch (IOException e1) e1.prStackTrace();System.out.prln(文件寫(xiě)入錯(cuò)誤); System.exit(-1);4.2處理流( 經(jīng)過(guò)處理的流)4.2.1 常見(jiàn)處理流:緩沖流IO TestBufferStream1.javaimport java.io.*;public class TestBufferStream1 public sic void main(String args) try
12、 FileInputStream fis =new FileInputStream(F:My WorkspaceJavaIOTestBufferStream1.java); BufferedInputStream bis =new BufferedInputStream(fis);c = 0;System.out.prln(bis.read();System.out.prln(bis.read();bis.mark(100); /從 100 號(hào)往外讀for(i=0;i=10 & (c=bis.read()!=-1;i+)bisFisSystem.out.pr(char)c+ );System.
13、out.prln(); bis.reset();/回到標(biāo)記點(diǎn)for(i=0;i=10 & (c=bis.read()!=-1;i+)System.out.pr(char)c+ );bis.close(); catch (IOException e) e.prStackTrace();IO/TestBufferStream2.java 帶緩沖區(qū)的輸入輸出流(能讀一行)import java.io.*;public class TestBufferStream2 public sic void main(String args) try BufferedWriter bw = new Buffer
14、edWriter(new FileWriter(d:sharejavadat2.txt); BufferedReader br = new BufferedReader(new FileReader(d:sharejavadat2.txt);String s = null;for(i=1;i=100;i+)s = String.valueOf(Math.random();bw.write(s);bw.newLine();bw.flush();/全部取出緩沖區(qū)數(shù)據(jù) while(s=br.readLine()!=null)/讀一行System.out.prln(s);bw.close();br.c
15、lose(); catch (IOException e) e.prStackTrace();轉(zhuǎn)換流InputStreamReader 和 OutputStreamWriter 用于與字節(jié)數(shù)據(jù)到字符數(shù)據(jù)之間轉(zhuǎn)換。 InputStreamReader 需和 InputStream“套接”。InputStream 轉(zhuǎn)換成 Reader OutputStreamWriter 需和 OutputStream“套接”。OutputStream 轉(zhuǎn)換成Writer轉(zhuǎn)換流在構(gòu)造時(shí)可以指定起編碼集合,例如5.InputStreamisr=new InputStreamReader ( System.in,“I
16、SO08859_1”)例子 IOTestTransForm1.javaIOTestTransForm2.javaimport java.io.*;public class TestTransForm2 public sic void main(String args) InputStreamReader isr =new InputStreamReader(System.in);/接受鍵盤(pán)輸入BufferedReader br = new BufferedReader(isr);String s = null;try s = br.readLine();/讀一行 while(s!=null)i
17、f(s.equalsIgnoreCase(exit) break; System.out.pr ln(s.toUpperCase(); s = br.readLine();br.close(); catch (IOException e) e.prStackTrace();brisr /阻塞6.數(shù)據(jù)流DataInputStream 和 DataOutputStream 分別繼承自 InputStream 和 OutputStream,它屬于處理流,需要分別“套接”在 InputStream 和 OutputStream 類型的節(jié)點(diǎn)流上。DataInputStream 和 DataOutputS
18、tream 踢狗了可以存取與機(jī)器無(wú)關(guān)的 Java 原始類型數(shù)據(jù)(如:,double 等)的方法DataInputStream 和 DataOutputStream 的構(gòu)造方法: DataInputStream(InputStream in) DataOutputStream(OutputStream out)例子Pr流7.例子 1import java.io.*;public class TestPrStream1 public sic void main(String args) PrStream ps = null;try FileOutputStream fos =new FileOut
19、putStream(d:baklog.dat); ps = new PrStream(fos); catch (IOException e) e.prStackTrace();if(ps != null)System.setOut(ps);/設(shè)置輸出窗口.ln = 0;for(char c = 0; c =100) System.out.prln(); ln = 0;例子 3import java.util.*; import java.io.*;public class TestPrStream3 public sic void main(String args) String s = nu
20、ll;BufferedReader br = new BufferedReader(new InputStreamReader(System.in);try FileWriter fw = new FileWriter(d:baklogfile.log, true); /Log4J PrWriter log = new PrWriter(fw);while (s = br.readLine()!=null) if(s.equalsIgnoreCase(exit) break; System.out.pr ln(s.toUpperCase(); log.pr ln( );log.pr ln(s.toUpperCase(); log.flush();log.prln(=+new Date()+=); log.flush();log.close(); catch (IOException e) e.prStackTrace();8.Obj
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法人免責(zé)協(xié)議書(shū)(2025年度)技術(shù)合作免責(zé)條款
- 2025年度私人房屋全款交易買(mǎi)賣(mài)合同(科技園區(qū))
- 2025年度解除租賃合同終止協(xié)議執(zhí)行起訴狀
- 二零二五年度新能源汽車(chē)充電樁銷(xiāo)售代理返利協(xié)議書(shū)
- 2025年度高空吊裝作業(yè)安全生產(chǎn)責(zé)任保險(xiǎn)合同
- 二零二五年度貨車(chē)合作經(jīng)營(yíng)協(xié)議書(shū):貨車(chē)安全培訓(xùn)與考試合作協(xié)議
- 2025年度高空作業(yè)安全協(xié)議:包工頭與工人責(zé)任書(shū)
- 二零二五年度同居關(guān)系解除協(xié)議書(shū)及共同財(cái)產(chǎn)清算合同
- 2025年度大型工業(yè)項(xiàng)目電力供應(yīng)與保障服務(wù)協(xié)議
- 2025年度戶外用品銷(xiāo)售員業(yè)績(jī)考核合同
- 云南省普通初中學(xué)生成長(zhǎng)記錄模板-好ok
- SB/T 10415-2007雞粉調(diào)味料
- JB/T 20036-2016提取濃縮罐
- 考古繪圖基礎(chǔ)
- GB/T 3452.4-2020液壓氣動(dòng)用O形橡膠密封圈第4部分:抗擠壓環(huán)(擋環(huán))
- GB/T 32574-2016抽水蓄能電站檢修導(dǎo)則
- 《社會(huì)主義市場(chǎng)經(jīng)濟(jì)理論(第三版)》第十三章社會(huì)主義市場(chǎng)經(jīng)濟(jì)標(biāo)準(zhǔn)論
- 變更索賠案例分析
- 2022年4月自學(xué)考試06093《人力資源開(kāi)發(fā)與管理》歷年真題及答案
- 《花婆婆》兒童繪本故事
- DB44∕T 2149-2018 森林資源規(guī)劃設(shè)計(jì)調(diào)查技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論