輸入輸出流(IO流).ppt_第1頁(yè)
輸入輸出流(IO流).ppt_第2頁(yè)
輸入輸出流(IO流).ppt_第3頁(yè)
輸入輸出流(IO流).ppt_第4頁(yè)
輸入輸出流(IO流).ppt_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第十一章 輸入/輸出流(I/O流),第十一章 輸入/輸出流(I/O流),File類 FileInputStream類 FileOutputStream類 FileReader類和FileWriter類 使用文件對(duì)話框打開(kāi)和保存文件,運(yùn)行可執(zhí)行文件 RandomAccessFile類 數(shù)據(jù)流 帶進(jìn)度條的輸入流 對(duì)象流 文件鎖FileLock,第十一章 輸入/輸出流(I/O流),Java.io包中的輸入流、輸出流 輸入流:InputStream 、Reader的子類 輸出流:OutputStream、Writer的子類 數(shù)據(jù)流向:,11.1 File類,File類的對(duì)象主要獲取文件本身的信息 創(chuàng)建

2、文件對(duì)象的構(gòu)造方法: File(String filename) File(String directoryPath,String filename) File(File f,String filename) Filename是文件名字,directoryPath是文件路徑,f是指定成一個(gè)目錄的文件。,11.1 File類,File的屬性: public String getName():獲取文件的名字 public boolean canRead():判斷文件是否是可讀的 public boolean can Write():判斷文件是否是可寫(xiě)的 public boolean exits()

3、:判斷文件是否存在 public long length():獲取文件的長(zhǎng)度。 public String getAbsolutePath():獲取文件的絕對(duì)路徑,11.1 File類,public getParent():獲取文件的父目錄 public isFile():判斷文件是否是一個(gè)正常文件而不是一個(gè)目錄。 public boolean isDirectory():判斷文件是否是一個(gè)目錄 public boolean isHidden():判斷文件是否是隱藏文件 public long lastModified():獲取文件最后的修改的時(shí)間(時(shí)間是從1970年午夜至文件最后修改時(shí)刻的毫

4、秒數(shù)),11.1 File類,例子1:獲取文件的信息,import java.io.*; class Example public static void main(String args) File f1=new File(C:1000,Example20_1.java); File f2=new File(c:1000); System.out.println(文件Example20_1是可讀的嗎:+f1.canRead(); System.out.println(文件Example20_1的長(zhǎng)度:+f1.length(); System.out.println(文件Example20_1

5、的絕對(duì)路徑:+f1.getAbsolutePath(); System.out.println(“C:1000:是目錄嗎?+f2.isDirectory(); ,11.1 File類,目錄: public boolean mkdir():File對(duì)象調(diào)用該方法創(chuàng)建一個(gè)目錄,如果成功則返回true. public String list():用字符串形式返回目錄下的全部文件。 public File listFiles():用File對(duì)象形式返回目錄下的全部文件。 public String list(FilenameFilter obj):用字符串形式返回目錄下的指定類型的所有文件 publi

6、c File listFiles(FilenameFilter obj):用File對(duì)象返回目錄下的指定類型的所有文件 FilenameFilter 作為接口,其中的方法:public boolean accept(File dir,String name);,11.1 File類,例子2: 列出f:8000目錄下的.java文件的名字,11.2 FileInputStream類,如果用戶的讀取文件的需求比較簡(jiǎn)單,用戶可以使用FileInputStream類。 FileInputStream(String name) FileInputStream(File file) 使用文件輸入流讀取文件

7、 處理I/O異常 從輸入流中讀取字節(jié) 關(guān)閉流,11.2 FileInputStream類,使用文件輸入流讀取文件 FileInputStream(String name) FileInputStream istream=new FileInputStream(“myfile.dat”); FileInputStream(File file) File f=new File(“myfile.dat”) FileInputStream istream=new FileInputStream(f);,11.2 FileInputStream類,處理I/O異常 I/Oexception,并try.ca

8、tch try catch( I/Oexception e),11.2 FileInputStream類,從輸入流中讀取字節(jié) 讀取數(shù)據(jù)方法: int read(); int read(byte b); int read(byte b,int off,int len),返回0-255之間的數(shù)值, 到達(dá)輸入流的末尾, 返回-1,11.2 FileInputStream類,關(guān)閉流 close(),11.2 FileInputStream類,例子3:,11.3 FileOutputStream類,FileOutputStream提供文件的寫(xiě)入能力。 FileOutputStream(String na

9、me) FileOutputStream(File file) FileOutputStream使用 write()方法把字節(jié)發(fā)給輸出流: public void write(byte b) public void write(byte b,int off,int len),11.3 FileOutputStream類,例子4:,11.4 FileReader類和FileWriter類,FileReader類和FileWriter類與FileInputStream類和FileOutputStream類等價(jià)。 FileInputStream(String name)字節(jié)流 FileReader(

10、String filename)字符流 FileWriter(String filename) 字符流 字符流能讀取uncode字符,11.4 FileReader類和FileWriter類,例子5: 例子6:,11.5 使用文件對(duì)話框打開(kāi)和保存文件,例子7:,11.6 運(yùn)行可執(zhí)行文件,使用java.lang包中的Runtime類可以運(yùn)行本地計(jì)算機(jī)上的可執(zhí)行文件。 例如: Runtime ec; ec=Runtime.getRuntim(); ec.exec(String command); 例子8: 運(yùn)行記事本,11.7 RandomAccessFile類,RandomAccessFile類

11、創(chuàng)建的流的指向可以作為源和目的地。 通過(guò)RandomAccessFile流寫(xiě)入和讀取數(shù)據(jù)。 構(gòu)造方法: RandomAccessFile(String name,String mode) RandomAccessFile(File file,String mode),方法seek(long a),用來(lái)移動(dòng)RandomAccessFile流指向的文件的指針,其中參數(shù)a確定文件指針距離文件開(kāi)頭的字節(jié)位置。 此外,流還可以通過(guò)調(diào)用getFilePointer()方法獲取當(dāng)前文件的指針的位置。 例11_9結(jié)果:“,10,9,8,7,6,5,4,3,2,1”,11.7 RandomAccessFile類

12、,11.8 數(shù)據(jù)流,DataInputStream類和DataOutputStream類:讀取一個(gè)數(shù)值時(shí),不必關(guān)心這個(gè)數(shù)值多少個(gè)字節(jié)。 DataInputStream類和DataOutputStream類的構(gòu)造方法: DataInputStream(inputStream in)將創(chuàng)建的數(shù)據(jù)輸入流指向一個(gè)由參數(shù)in指定的輸入流,以便從后者讀取數(shù)據(jù) DataOutputStream(OutputStream out)將創(chuàng)建的數(shù)據(jù)輸出流指向一個(gè)由參數(shù)out指定的輸出流,以便把數(shù)據(jù)輸出到輸出流out.,11.8 數(shù)據(jù)流,DataInputStream類和DataOutputStream類的方法: 見(jiàn)

13、表11-2 例10:寫(xiě)幾個(gè)JAVA類型的數(shù)據(jù)到一個(gè)文件,并讀出來(lái),11.9 帶進(jìn)度條的輸入流,ProgressMonitorInputStream(Component c,String s,InputStream in);,11.9 帶進(jìn)度條的輸入流,例子11:,11.10 對(duì)象流,ObjectInputStream類和ObjectOutputStream類為InputStream類和OutputStream類的子類。 對(duì)象流使用:writeObject(Object obj), readObject(Object obj)寫(xiě)或者讀一個(gè)對(duì)象。 例: FileOutputStream file_

14、out=new FileOutputStream(“tom.txt”); ObjectOutputStream object_out=new ObjectOutputStream(file_out); FileInputStream file_in=new FileInputStream(“tom.txt”); ObjectInputStream object_in=new ObjectInputStream(file_in);,11.10 對(duì)象流,例子12:,11.10 對(duì)象流,例子12:,11.11 文件鎖FileLock,FileLock、FileChannel類分別在包java.nio和j

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論