




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電子與信息工程學(xué)院 戴喆第第九九章輸入章輸入/輸出流輸出流 和文件操作和文件操作主要內(nèi)容文件和流的概念字節(jié)輸入/輸出流類字符輸入/輸出流類文件操作重點(diǎn)難點(diǎn)9.1 文件和流的概念9.1.1 OS中的文件和目錄概念 n文件與文件系統(tǒng)文件是信息的一種組織形式文件系統(tǒng)是文件和對(duì)文件操作和管理的數(shù)據(jù)結(jié)構(gòu)的集合n目錄結(jié)構(gòu)和文件檢索Unix下路徑分隔符是“/”,而Windows下是“”,但java忽略這一區(qū)別;使用“”時(shí)需加轉(zhuǎn)義符“”9.1.1 OS中的文件和目錄概念 文件的邏輯結(jié)構(gòu)流式文件記錄式文件文件的存取方法順序存取隨機(jī)存取文件的使用操作接口程序接口9.1.2 流的概念n流的定義和作用流是一組有順序的
2、、有起點(diǎn)和終點(diǎn)的字節(jié)集合流的基本操作是讀操作和寫操作,一個(gè)流只能進(jìn)行其中的一種操作流采用緩沖區(qū)技術(shù)利用流可以使數(shù)據(jù)傳輸獨(dú)立于設(shè)備9.1.3 Java的I/O流與文件操作概述n流類和文件類Java提供了多種流類,適合不同場(chǎng)合Java提供了File類和RandomAccessFile類9.2 字節(jié)I/O流類數(shù)據(jù)字節(jié)輸入/輸出9.2.4對(duì)象輸入/輸出9.2.59.2.1 InputStream和OutputStreamn抽象類InputStream用來描述所有輸入流的抽象概念n抽象類OutputStream用來描述所有輸出流的抽象概念n這兩個(gè)類都是抽象類,由它們的子類對(duì)應(yīng)各種具體的IO設(shè)備,如:網(wǎng)絡(luò)
3、、管道、內(nèi)存、文件等9.2.1 InputStream和OutputStreamnInputStream常用方法int read() /讀一個(gè)字節(jié)復(fù)制到int的最低字節(jié)int read(byte b) /讀入=b.length個(gè)字節(jié)放到b中,并返回讀入字節(jié)數(shù)int read(byte b,int off,int len) /讀入字節(jié)放入b中從off開始長(zhǎng)為len的位置long skip(long n) /跳過n個(gè)字節(jié)返回跳過的字節(jié)數(shù)int available() /返回當(dāng)前輸入流中可讀字節(jié)數(shù)void mark(int readlimit) /在輸入流設(shè)置標(biāo)志,使只有從當(dāng)前位置開始的readli
4、mit個(gè)字節(jié)可讀void reset() /使輸入指針返回以前所作的標(biāo)志處void close()/釋放和這個(gè)流相關(guān)的資源9.2.1 InputStream和OutputStreamnOutputStream常用方法void write(int b)/寫一個(gè)字節(jié)到輸出流,實(shí)際將b的最低字節(jié)被寫入,其它高字節(jié)將被舍棄void write(byte b)/將字節(jié)數(shù)組b寫入輸出流void write(byte b,int off,int len)/將b中從off開始的len個(gè)字節(jié)寫入輸出流void flush()/輸出并清空緩沖區(qū)void close()/關(guān)閉輸出流9.2.2 標(biāo)準(zhǔn)輸入/輸出n標(biāo)準(zhǔn)輸
5、入/輸出常量java.lang.System中有三個(gè)常量in、out、err表示標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤public final class System extends Object public final static InputStream in /標(biāo)準(zhǔn)輸入常量 public final static PrintStream out /標(biāo)準(zhǔn)輸出常量 public final static PrintStream err /標(biāo)準(zhǔn)錯(cuò)誤輸出常量9.2.2 標(biāo)準(zhǔn)輸入/輸出nPrintStream類聲明多個(gè)重載的print和println方法,分別以各種基本數(shù)據(jù)類型和數(shù)組、字符串、對(duì)象等為參
6、數(shù)n實(shí)例標(biāo)準(zhǔn)輸入/輸出KeyboardInput.java9.2.3 文件字節(jié)輸入/輸出nFileInputStream和FileOutputStream類分別是InputStream和OutputStream的子類,用于創(chuàng)建磁盤文件的輸入輸出流對(duì)象可以通過指定文件名和文件File對(duì)象兩種方式創(chuàng)建輸入輸出流對(duì)象FileInputStream(String name)/指定文件名FileInputStream(File file)/指定文件對(duì)象FileOutputStream(String name) /指定文件名FileOutputStream(File file) /指定文件對(duì)象n實(shí)例文件字
7、節(jié)流I/OByteFile.java9.2.3 文件字節(jié)輸入/輸出9.2.4 數(shù)據(jù)字節(jié)輸入/輸出n前面例子可以看出,字節(jié)I/O對(duì)各種基本數(shù)據(jù)類型需要進(jìn)行格式轉(zhuǎn)換,因此提供數(shù)據(jù)字節(jié)流類簡(jiǎn)化I/OnDataInputStream和DataOutputStream類提供對(duì)各種數(shù)據(jù)類型的輸入和輸出方法n實(shí)例寫整數(shù)Fibonacci序列到文件中IntFile.java9.2.5 對(duì)象輸入/輸出nObjectInoutStream和ObjectOutputStream類用于對(duì)象的I/O,被操作對(duì)象需要實(shí)現(xiàn)Serializable接口,以約定每次讀/寫的字n實(shí)例學(xué)生類實(shí)例的I/OStudent.javaSt
8、udentFile.java9.3 字符輸入/輸出流類n兩個(gè)抽象類,與InputStream和OutputStream和對(duì)應(yīng),用于字符輸入輸出的處理n其子類FileReader和FileWriter用于對(duì)磁盤文件的字符輸入輸出處理,相對(duì)于FileInputStream和FileOutputStream類9.3.1 Reader和Writer9.3.2 字符緩沖流類n自帶緩沖區(qū)n實(shí)例寫整數(shù)Fibonacci序列到文件中的另一形式TextFile.java9.4 文件操作類隨機(jī)存取文件類9.4.49.4.1 File類n構(gòu)造方法nFile類方法訪問文件對(duì)象的方法獲得或設(shè)置文件屬性:長(zhǎng)度、修改時(shí)間、
9、是否存在、是否可讀、是否隱藏等文件操作的方法:新建、刪除、重命名等目錄操作的方法:創(chuàng)建目錄、目錄中所有文件等File(String filename); File(String directoryPath,String filename); File(File f,String filename);9.4.1 File類n實(shí)例當(dāng)前目錄文件列表FileList.java9.4.2 文件過濾器接口nFileFilter和FilenameFilter接口這兩個(gè)類中都有accept()方法n使用過濾器實(shí)現(xiàn)上述接口的類作為過濾器,傳遞給File類中的list()方法作為參數(shù)list()方法會(huì)獲取全部文件
10、列表,對(duì)每個(gè)數(shù)據(jù)項(xiàng)調(diào)用accept()方法,返回true的保留,否則從列表中刪除9.4.2 文件過濾器接口n實(shí)例帶過濾器的文件列表DirFilter.javan實(shí)例文件管理器和文本文件編輯器TextFileEditorJFrame.javaFileManagerJFrame.java9.4.3 文件對(duì)話框組件nRandomAccessFile類對(duì)一個(gè)文件可讀又可寫可在任意指定位置讀或?qū)憂構(gòu)造方法mode參數(shù)用于指定創(chuàng)建的流對(duì)文件的讀寫權(quán)限,其取值可以是“r”或“rw”,分別表示“只讀”或“讀寫”9.4.4 隨機(jī)存取文件類RandomAccessFile(String name,String mode)RandomAccessFile(File file,String mode)9.4.4 隨機(jī)存取文件類n實(shí)例向文件中寫入三個(gè)員工的信息,每個(gè)員工含有姓名和年齡兩個(gè)字段,然后按第二名、第一名、第三名的順序讀取員工的信息RandomFileTest.java9.5 管道流及其應(yīng)用n管道原理利用管道可以實(shí)現(xiàn)線程間通信,一個(gè)線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療器械質(zhì)量檢測(cè)服務(wù)合同
- 職場(chǎng)辦公技能培訓(xùn)教育范文
- 高考語(yǔ)文復(fù)習(xí):人物傳記類文言文專練
- 電線電纜采購(gòu)合同書
- 法律行業(yè)律師服務(wù)費(fèi)用免責(zé)協(xié)議
- 經(jīng)典童話白雪公主的解讀與賞析
- 高考英語(yǔ)完形填空專題集中訓(xùn)練含參考答案(5份)
- 農(nóng)村居民公共服務(wù)需求滿足指導(dǎo)手冊(cè)
- 問題解決指南
- 金融科技服務(wù)風(fēng)險(xiǎn)免責(zé)合同
- 私立醫(yī)療機(jī)構(gòu)2025年運(yùn)營(yíng)策略與計(jì)劃
- 2025年蘇州農(nóng)業(yè)職業(yè)技術(shù)學(xué)院高職單招高職單招英語(yǔ)2016-2024歷年頻考點(diǎn)試題含答案解析
- 字體設(shè)計(jì)完整版本
- 【歷史】安史之亂與唐朝衰亡課件 2024-2025學(xué)年統(tǒng)編版七年級(jí)歷史下冊(cè)
- 2024年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 《歡樂運(yùn)動(dòng)會(huì):1 我為班級(jí)出把力》說課稿-2024-2025學(xué)年四年級(jí)上冊(cè)綜合實(shí)踐活動(dòng)滬科黔科版
- 2024年汽車駕駛員(高級(jí))證考試題庫(kù)附答案
- 《兔的飼養(yǎng)管理》課件
- 2025年事業(yè)單位考試(綜合管理類A類)綜合應(yīng)用能力試題及解答參考
- “互聯(lián)網(wǎng)+”大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽計(jì)劃書一等獎(jiǎng)
- 四川政采評(píng)審專家入庫(kù)考試基礎(chǔ)題練習(xí)試題附答案
評(píng)論
0/150
提交評(píng)論