




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Java面向?qū)ο蟪绦蛟O(shè)計(jì)I/O流處理教學(xué)內(nèi)容及教學(xué)目標(biāo)了解什么是流了解流的特點(diǎn)/如掌握流輸入與輸出掌握不同種類的流的使用流的概念流是一個(gè)用于計(jì)算機(jī)中進(jìn)行數(shù)據(jù)傳輸?shù)臋C(jī)制,就像水管里的水流,在水管的一端供水,而在水管的另一端看到是一股連續(xù)不斷的水流。程序離不開數(shù)據(jù)的輸入輸出,例如從鍵盤讀取數(shù)據(jù),向顯示器輸出數(shù)據(jù),向文件中寫入、讀取數(shù)據(jù),以及通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)的輸入輸出等。這些都涉及到流的運(yùn)用。Java程序通過流來完成輸入/輸出讀寫數(shù)據(jù),Java中流的實(shí)現(xiàn)相關(guān)的類是在java.io包中。流的特點(diǎn)Java程序利用流來實(shí)現(xiàn)輸出與輸入,而流又有一些特點(diǎn),I/O流具有的特點(diǎn):1、流必須有源端和目的端2、可以是磁盤文件,可以是鍵盤、顯示器等物理設(shè)備,可以是internet上的某個(gè)url地址。3、數(shù)據(jù)有兩個(gè)輸出方向,以程序?yàn)楹诵?,?shù)據(jù)從外端流向程序成為輸入流,把數(shù)據(jù)從程序流向外部源的流叫做輸出流。流的分類I/O流有很多種,按照不同的分類方式,可以分為以下3類:1、
按照數(shù)據(jù)傳輸?shù)牡姆较?,可以分為輸入流和輸出流。以程序?yàn)楹诵?,?shù)據(jù)是流向程序,為輸入流;數(shù)據(jù)是從程序流出去的,為輸出流。2、
按照數(shù)據(jù)傳輸?shù)膯挝坏牟煌?,來劃分:分為字?jié)流和字符流。字節(jié)流以字節(jié)為單位進(jìn)行數(shù)據(jù)的讀寫,字符流以字符為單位進(jìn)行數(shù)據(jù)的讀寫。從讀與寫的效率問題看,字符流要比字節(jié)流效率高。
字節(jié)流字符流輸入流InputStreamReader輸出流OutputStreamWriter3、按照功能不同,分為節(jié)點(diǎn)流和處理流節(jié)點(diǎn)流是直接與數(shù)據(jù)源相連,讀入或讀出的流(如:FileReader和FileWriter),但是直接使用節(jié)點(diǎn)流,讀寫不方便;處理流是與節(jié)點(diǎn)流一塊使用,在節(jié)點(diǎn)流的基礎(chǔ)上,再套接一層,是“連接”在已經(jīng)存在的流(節(jié)點(diǎn)流或處理流)之上,通過對(duì)數(shù)據(jù)的處理為程序提供更為強(qiáng)大的讀寫功能。字節(jié)流與字符流可以相互轉(zhuǎn)換,從字節(jié)流到字符流可以通過InputStreamReader、OutputStreamWrite類來實(shí)現(xiàn);從字符流到字節(jié)流可以從字符流中獲取char[]數(shù)組,轉(zhuǎn)換為String,然后調(diào)用String的API函數(shù)getBytes()獲取到byte[],然后就可以通過ByteArrayInputStream、ByteArrayOutputStream來實(shí)現(xiàn)到字節(jié)流的轉(zhuǎn)換。字節(jié)流和字符流不管是字節(jié)流還是字符流的操作,本身都表示資源操作,而執(zhí)行所有的資源操作都會(huì)按照如下的幾個(gè)步驟進(jìn)行,下面以文件操作為例(對(duì)文件進(jìn)行讀、寫操作):1、要操作的是如果文件,那么首先要通過File類對(duì)象找到一個(gè)要操作的文件路徑(路徑有可能存在,有可能不存在,如果不存在,則要?jiǎng)?chuàng)建路徑);2、通過字節(jié)流或字符流的子類為字節(jié)流或字符流的對(duì)象實(shí)例化;3、執(zhí)行讀/寫操作;4、最后一定要關(guān)閉操作的資源(close()),不管日后如何操作,資源永遠(yuǎn)要關(guān)閉。.1字節(jié)流字節(jié)流由兩個(gè)類層次結(jié)構(gòu)定義。在頂層有兩個(gè)抽象類:InputStream和OutputStream。每個(gè)抽象類都有多個(gè)具體的子類,這些子類對(duì)不同的外設(shè)進(jìn)行處理,例如磁盤文件,網(wǎng)絡(luò)連接,甚至是內(nèi)存緩沖區(qū)。表7.1:字節(jié)流流的名稱流的作用BufferedInputStream緩沖輸入流BufferedOutputStream緩沖輸出流ByteArrayInputStream從字節(jié)數(shù)組讀取的輸入流ByteArrayOutputStream向字節(jié)數(shù)組寫入的輸出流DataInputStream包含讀取Java標(biāo)準(zhǔn)數(shù)據(jù)類型方法的輸入流DataOutputStream包含編寫Java標(biāo)準(zhǔn)數(shù)據(jù)類型方法的輸出流FileInputStream讀取文件的輸入流FileOutputStream寫文件的輸出流FilterInputStream實(shí)現(xiàn)InputStreamFilterOutputStream實(shí)現(xiàn)OutputStreamInputStream描述流輸入的抽象類OutputStream描述流輸出的抽象類PipedInputStream輸入管道PipedOutputStream輸出管道PrintStream包含print()和println()的輸出流PushbackInputStream支持向輸入流返回一個(gè)字節(jié)的單字節(jié)的“unget”的輸入流RandomAccessFile支持隨機(jī)文件輸入/輸出SequenceInputStream兩個(gè)或兩個(gè)以上順序讀取的輸入流組成的輸入流7.2.2String類字節(jié)流以FileOutputStream和FileInputStream來舉例對(duì)于OutputStream類而言發(fā)現(xiàn)其本身定義的是一個(gè)抽象類(abstractclass),按照抽象類的使用原則來講,需要定義抽象類的子類,而現(xiàn)在如果要執(zhí)行的是文件操作,則可以使用FileOutputStream子類完成。FileOutputStream類的構(gòu)造方法:表7.2FileOutputStream構(gòu)造方法FileOutputStream類之中定義了三個(gè)方法,如下表所示:表7.3FileOutputStream類的方法構(gòu)造方法主要功能publicFileOutputStream(Filefile)throwsFileNotFoundException創(chuàng)建文件輸出流以寫入由指定的File對(duì)象表示的文件publicFileOutputStream(Filefile,booleanappend)throwsFileNotFoundException創(chuàng)建文件輸出流以寫入由指定的File對(duì)象表示的文件。如果第二個(gè)參數(shù)是true,則字節(jié)將被寫入文件的末尾而不是開頭方法主要功能voidwrite(intb)將指定字節(jié)寫入此文件輸出流voidwrite(byte[]b)將b.length個(gè)字節(jié)從指定byte數(shù)組寫入此文件輸出流中voidwrite(byte[]b,intoff,intlen)將指定byte數(shù)組中從偏移量off開始的len個(gè)字節(jié)寫入此文件輸出流【例7-1】:通過案例來掌握FileOutputStream的使用importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;publicclassDemo7_01{ publicstaticvoidmain(String[]args){//主方法 Filefile=newFile("Demo7_1.txt");//創(chuàng)建文件對(duì)象 try{//捕捉異常 //創(chuàng)建FileOutputStream對(duì)象 FileOutputStreamout=newFileOutputStream(file); //創(chuàng)建byte型數(shù)組 bytebuy[]="你好,F(xiàn)ileOutputStream案例已成功實(shí)現(xiàn)。".getBytes(); out.write(buy);//將數(shù)組中信息寫入到文件中 out.close();//將流關(guān)閉 System.out.print("請(qǐng)到該項(xiàng)目目錄下查詢Demo7_1.txt文件"); }catch(Exceptione){//catch語句處理異常信息 e.printStackTrace();//輸出異常信息 }
}}程序運(yùn)行的結(jié)果:打開Demo7_1.txt文件FileInputStream是Java語言中抽象類InputStream用來具體實(shí)現(xiàn)類的創(chuàng)建對(duì)象。FileInputStream可以從文件系統(tǒng)中的某個(gè)文件中獲得輸入字節(jié),獲取的文件可用性取決于主機(jī)環(huán)境。FileInputStream的構(gòu)造方法需要指定文件的來源,通過打開一個(gè)到實(shí)際文件的連接來創(chuàng)建一個(gè)FileInputStream,該文件通過文件系統(tǒng)中的File對(duì)象file指定。FileInputStream的構(gòu)造方法:表7.4FileInputStream的構(gòu)造方法構(gòu)造方法主要功能FileInputStream(Filefile)通過打開一個(gè)到實(shí)際文件的連接來創(chuàng)建一個(gè)FileInputStream對(duì)象,該文件通過文件系統(tǒng)中的File對(duì)象file指定。FileInputStream(Stringname)通過打開一個(gè)到實(shí)際文件的連接來創(chuàng)建一個(gè)FileInputStream對(duì)象,該文件通過文件系統(tǒng)中的路徑名name指定。
FileInputStream的常用方法如下表所示:表7.5FileInputStream的常用方法方法主要功能public
intread()從此輸入流中讀取一個(gè)數(shù)據(jù)字節(jié)public
intread(byte[]b)從此輸入流中將最多b.length個(gè)字節(jié)的數(shù)據(jù)讀入一個(gè)byte數(shù)組中public
voidclose()關(guān)閉此文件輸入流并釋放與流相關(guān)聯(lián)的任何系統(tǒng)資源【例7-2】通過案例來掌握FileInputStream的使用importjava.io.File;importjava.io.FileInputStream;publicclassDemo7_02{ publicstaticvoidmain(String[]args){//主方法 Filefile=newFile("Demo7_1.txt");//創(chuàng)建文件對(duì)象 try{ //創(chuàng)建FileInputStream類對(duì)象 FileInputStreamin=newFileInputStream(file); bytebyt[]=newbyte[1024];//創(chuàng)建byte數(shù)組 intlen=in.read(byt);//從文件中讀取信息 //將文件中信息輸出 System.out.println("文件中的信息是:"+newString(byt,0,len)); in.close();//關(guān)閉流 }catch(Exceptione){ e.printStackTrace();//輸出異常信息 } }}程序運(yùn)行的結(jié)果:字符流類字符流類由兩個(gè)類層次結(jié)構(gòu)定義。頂層有兩個(gè)抽象類:Reader和Writer。這些抽象類處理統(tǒng)一編碼的字符流。Java中這些類含有多個(gè)具體的子類。表7.6字符流類流的名稱流的作用BufferedReader緩沖輸入字符流BufferedWriter緩沖輸出字符流CharArrayReader從字符數(shù)組讀取數(shù)據(jù)的輸入流CharArrayWriter向字符數(shù)組寫數(shù)據(jù)的輸出流FileReader讀取文件的輸入流FileWriter寫文件的輸出流FilterReader過濾讀FilterWriter過濾寫InputStreamReader把字節(jié)轉(zhuǎn)換成字符的輸入流LineNumberReader計(jì)算行數(shù)的輸入流OutputStreamWriter把字符轉(zhuǎn)換成字節(jié)的輸出流PipedReader輸入管道PipedWriter輸出管道PrintWriter包含print()和println()的輸出流PushbackReader允許字符返回到輸入流的輸入流Reader描述字符流輸入的抽象類StringReader讀取字符串的輸入流StringWriter寫字符串的輸出流Writer描述字符流輸出的抽象類字符流以FileWriter和FileReader來舉例。FileWriter類從OutputStreamWriter類繼承而來。該類按字符向流中寫入數(shù)據(jù)。可以通過以下幾種構(gòu)造方法創(chuàng)建需要的對(duì)象。文件字符輸出流、主要用于將字符寫入到指定的打開的文件中、其本質(zhì)是通過傳入的文件名、文件、或者文件描述符來創(chuàng)建FileOutputStream、然后使用OutputStreamWriter使用默認(rèn)編碼將FileOutputStream轉(zhuǎn)換成Writer(這個(gè)Writer就是FileWriter)。 表7.7FileWriter構(gòu)造方法FileWriter類的常用方法如下表: 表7.8FileWriter類的常用方法構(gòu)造方法主要功能FileWriter(Filefile)在給出File對(duì)象的情況下構(gòu)造一個(gè)FileWriter對(duì)象FileWriter(Filefile,booleanappend)給一個(gè)File對(duì)象構(gòu)造一個(gè)FileWriter對(duì)象。如果第二個(gè)參數(shù)是true,則字節(jié)將寫入文件的末尾而不是開頭方法主要功能publicvoidwrite(intc)寫入單個(gè)字符cpublicvoidwrite(char[]c,intoffset,intlen)寫入字符數(shù)組中開始為offset長(zhǎng)度為len的某一部分publicvoidwrite(Strings,intoffset,intlen)寫入字符串中開始為offset長(zhǎng)度為len的某一部分【例7-3】:通過案例來掌握FileWriter的使用importjava.io.File;importjava.io.FileWriter;publicclassDemo7_03{ publicstaticvoidmain(String[]args){//主方法 Filefile=newFile("Demo7_03.txt"); try{ //創(chuàng)建FileWriter對(duì)象 FileWriterout=newFileWriter(file); //獲取文本域中文本 out.write("你好,F(xiàn)ileWriter案例已成功實(shí)現(xiàn)。");//將信息寫入磁盤文件 out.close();//將流關(guān)閉 System.out.print("請(qǐng)到該項(xiàng)目目錄下查詢Demo7_3.txt文件"); }catch(Exceptione1){ e1.printStackTrace(); } }
}程序運(yùn)行的結(jié)果:FileReader是文件字符輸入流、用于將文件內(nèi)容以字符形式讀取出來、一般用于讀取字符形式的文件內(nèi)容、也可以讀取字節(jié)形式、但是因?yàn)镕ileReader內(nèi)部也是通過傳入的參數(shù)構(gòu)造InputStreamReader、并且只能使用默認(rèn)編碼、所以我們無法控制編碼問題、這樣的話就很容易造成亂碼。所以讀取字節(jié)形式的文件還是使用字節(jié)流來操作的好、同樣在使用此流的時(shí)候用BufferedReader包裝一下、就算沖著BufferedReader的readLine()方法去的也要使用這個(gè)包裝類、不說他還能提高效率、保護(hù)存儲(chǔ)介質(zhì)。FileReader類的構(gòu)造方法: 表7.9FileReader類的構(gòu)造方法FileReader類的常用方法如表7.10所示:表7.10FileReader類的常用方法構(gòu)造方法主要功能FileReader(Filefile)創(chuàng)建一個(gè)FileReader對(duì)象,給出File讀取FileReader(FileDescriptorfd)創(chuàng)建一個(gè)FileReader對(duì)象,給定FileDescriptor讀取FileReader(StringfileName)創(chuàng)建一個(gè)FileReader對(duì)象,給定要讀取的文件的名稱方法主要功能publicintread()讀取單個(gè)字符。返回作為整數(shù)讀取的字符,如果已達(dá)到流末尾,則返回-1publicintread(char[]cbuf)將字符讀入數(shù)組。返回讀取的字符數(shù)。如果已經(jīng)到達(dá)尾部,則返回-1publicabstractintread(char[]cbuf,intoff,intlen)將字符讀入數(shù)組的某一部分?!纠?-4】:通過案例來掌握FileReader的使用importjava.io.File;importjava.io.FileReader;publicclassDemo7_04{ publicstaticvoidmain(String[]args){//主方法 Filefile=newFile("Demo7_03.txt");//創(chuàng)建文件對(duì)象 try{ //創(chuàng)建FileReader對(duì)象 FileReaderin=newFileReader(file); charbyt[]=newchar[1024];//創(chuàng)建char型數(shù)組 intlen=in.read(byt);//將字節(jié)讀入數(shù)組 System.out.println(newString(byt,0,len)); }catch(Exceptione1){ e1.printStackTrace(); } }}程序運(yùn)行的結(jié)果:文件操作類Java在應(yīng)用程序設(shè)計(jì)中,除了基本的鍵盤輸入與屏幕輸出之外,最常用的就是對(duì)磁盤文件的讀寫,而File類就是專門用來處理磁盤目錄與文件的。在整個(gè)java.io包之中,F(xiàn)ile類與文件本身操作有關(guān)的類,所謂的文件本身指的是:文件的創(chuàng)建、刪除、重命名、取得文件大小、修改日期等。如果要想使用File類操作文件的話,那么肯定要通過構(gòu)造方法實(shí)例化File類對(duì)象。 表7.11File類的構(gòu)造方法構(gòu)造方法主要功能publicFile(Stringpathname)通過將給定的路徑名字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建新的File實(shí)例。publicFile(Fileparent,Stringchild)從父抽象路徑名和子路徑名字符串創(chuàng)建新的File實(shí)例。
表7.12File類的常用方法方法主要功能publicStringgetName()取得文件的名稱publicbooleanisDirectory()給定的路徑是否是文件夾publicbooleanisFile()給定的路徑是否是文件publicbooleanisHidden()是否是隱藏文件publiclonglastModified()文件的最后一次修改日期publiclonglength()取得文件大小,是以字節(jié)為單位返回的publicFilegetParentFile()找到一個(gè)指定文件的父路徑publicbooleanmkdirs()創(chuàng)建目錄【例7-5】:通過案例來掌握File的使用importjava.io.File;publicclassDemo7_05{ publicstaticvoidmain(String[]args){//主方法 Filefile=newFile("Demo7_05.txt");//創(chuàng)建文件對(duì)象 if(file.exists()){//如果該文件存在 file.delete();//將文件刪除 System.out.println("文件已刪除");//輸出的提示信息 }else{//如果文件不存在 try{//try語句塊捕捉可能出現(xiàn)的異常 file.createNewFile();//創(chuàng)建該文件 System.out.println("文件已創(chuàng)建");//輸出的提示信息 }catch(Exceptione){//catch處理該異常 e.printStackTrace();//輸出異常信息 } } }}程序運(yùn)行的結(jié)果:
緩沖流是處理流的一種,對(duì)讀寫的數(shù)據(jù)提供緩沖功能,提高了讀寫的效率。緩沖流主要包括四個(gè)類:BufferedInputStream、BufferedReader、BufferedOutputStream和BufferedWriter,本節(jié)我們主要介紹BufferedReader和BufferedWriter完成操作。緩沖流【例7-6】:通過案例來掌握BufferedReader和BufferedWriter的使用importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;publicclassDemo7_06{ publicstaticvoidmain(Stringargs[]){//主方法 //定義字符串?dāng)?shù)組 Stringcontent[]={"BufferedReader","BufferedWriter","BufferedInputStream","BufferedOutputStream"}; Filefile=newFile("Demo7_06.txt");//創(chuàng)建文件對(duì)象 try{ FileWriterfw=newFileWriter(file);//創(chuàng)建FileWriter類對(duì)象 //創(chuàng)建BufferedWriter類對(duì)象 BufferedWriterbufw=newBufferedWriter(fw); for(intk=0;k<content.length;k++){//循環(huán)遍歷數(shù)組 bufw.write(content[k]);//將字符串?dāng)?shù)組中元素寫入到磁盤文件中 bufw.newLine();//將數(shù)組中的單個(gè)元素以單行的形式寫入文件 } bufw.close();//將BufferedWriter流關(guān)閉 fw.close();//將FileWriter流關(guān)閉 }catch(Exceptione){//處理異常 e.printStackTrace();} try{ FileReaderfr=newFileReader(file);//創(chuàng)建FileReader類對(duì)象 //創(chuàng)建BufferedReader類對(duì)象 BufferedReaderbufr=newBufferedReader(fr); Strings=null;//創(chuàng)建字符串對(duì)象 inti=0;//聲明int型變量 //如果文件的文本行數(shù)不為null,則進(jìn)入循環(huán) while((s=bufr.readLine())!=null){ i++;//將變量做自增運(yùn)算 System.out.println("第"+i+"行:"+s);//輸出文件數(shù)據(jù) } bufr.close();//將FileReader流關(guān)閉 fr.close();//將FileReader流關(guān)閉 }catch(Exceptione){//處理異常 e.printStackTrace();}}}程序運(yùn)行的結(jié)果:數(shù)據(jù)流所謂“數(shù)據(jù)流(stream)”指的是所有數(shù)據(jù)通信通道之中,數(shù)據(jù)的起點(diǎn)和終點(diǎn)。信息的通道就是一個(gè)數(shù)據(jù)流。只要是數(shù)據(jù)從一個(gè)地方“流”到另外一個(gè)地方,這種數(shù)據(jù)流動(dòng)的通道都可以稱為數(shù)據(jù)流。數(shù)據(jù)流包括DataInputStream和DataOutputStream兩個(gè)類?!纠?-7】:通過案例來掌握DataInputStream和DataOutputStream的使用importjava.io.DataInputStream;importjava.io.DataOutputStream;importjava.io.FileInputStream;importjava.io.FileOutputStream;publicclassDemo7_07{ publicstaticvoidmain(String[]args){//主方法 try{ //創(chuàng)建FileOutputStream對(duì)象 FileOutputStreamfs=newFileOutputStream("Demo7_07.txt"); //創(chuàng)建DataOutputStream對(duì)象 DataOutputStreamds=newDataOutputStream(fs); ds.writeUTF("你好,DataOutputStream案例已成功實(shí)現(xiàn)。");//寫入磁盤文件數(shù)據(jù) ds.close();//將流關(guān)閉 //創(chuàng)建FileInputStream對(duì)象 FileInputStreamfis=newFileInputStream("Demo7_07.txt"); //創(chuàng)建DataInputStream對(duì)象 DataInputStreamdis=newDataInputStream(fis); System.out.print(dis.readUTF());//將文件數(shù)據(jù)輸出 }catch(Exceptione){ e.printStackTrace();//輸出異常信息 } }}程序運(yùn)行的結(jié)果:隨機(jī)讀寫流Java.io包提供了RandomAccessFile類用于隨機(jī)文件的創(chuàng)建和訪問。使用這個(gè)類,可以跳轉(zhuǎn)到文件的任意位置讀寫數(shù)據(jù)。程序可以在隨機(jī)文件中插入數(shù)據(jù),而不會(huì)破壞該文件的其他數(shù)據(jù)。此外,程序也可以更新或刪除先前存儲(chǔ)的數(shù)據(jù),而不用重寫整個(gè)文件。【例7-8】:通過案例來掌握RandomAccessFile的使用importjava.io.File;importjava.io.IOException;importjava.io.RandomAccessFile;publicclassDemo7_08{ publicstaticvoidmain(String[]args)throwsIOException{ RandomAccessFileraf=newRandomAccessFile("Demo7_08.txt","rw"); Personp1=newPerson(20,"張三"); p1.write(raf); raf.seek(0);//讀取時(shí),將指針重置到文件的開始位置。 Personp2=newPerson(); p2.read(raf); System.out.println("age="+p2.getAge()+";name="+p2.getName()); }}classPerson{ intage;Stringname;publicPerson(){}publicPerson(intage,Stringname){ this.age=age;=name;}publicvoidwrite(RandomAccessFileraf)throwsIOException{ raf.writeInt(age);raf.writeUTF(name);}publicvoidread(RandomAccessFileraf)throwsIOException{ this.age=raf.readInt();=raf.readUTF();}publicintgetAge(){ returnage;}publicvoidsetAge(intage){ this.age=age;}publicStringgetName(){ returnname;}publicvoidsetName(Stringname){ =name;}}程序運(yùn)行的結(jié)果:任務(wù)進(jìn)階盡管Java提供了一個(gè)可以處理文件的IO操作類。但是沒有一個(gè)復(fù)制文件的方法。復(fù)制文件是一個(gè)重要的操作,當(dāng)你的程序必須處理很多文件相關(guān)的時(shí)候?!纠?-9】:通過案例來掌握文件的復(fù)制(命令行實(shí)現(xiàn)文件的復(fù)制)注意:本案例中的Demo7_09.txt必須是存在的文件.importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;publicclassDemo7_09{ publicstaticvoidmain(String[]args){ FileInputStreamfis=null; FileOutputStreamfos=null; try{ //1、創(chuàng)建輸入流對(duì),負(fù)責(zé)讀取,注意要先創(chuàng)建一個(gè)Demo7_09a.txt。 fis=newFileInputStream("Demo7_09a.txt"); //2、創(chuàng)建輸出流對(duì)象 fos=newFileOutputStream("Demo7_09b.txt",true); //3、創(chuàng)建中轉(zhuǎn)站數(shù)組,存放每次讀取的內(nèi)容 byte[]words=newbyte[1024]; //4、通過循環(huán)實(shí)現(xiàn)文件讀取 while((fis.read())!=-1){ fis.read(words); fos.write(words,0,words.length); } System.out.println("復(fù)制完成,請(qǐng)查看文件!"); }catch(FileNotFoundExceptione){ e.printStackTrace(); }catch(IOExceptione){ e.printStackTr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合伙協(xié)議書變更8篇
- 2025年錦州貨運(yùn)上崗證考試題答案
- 《Reuse and recycle》作業(yè)設(shè)計(jì)方案
- 第06講 文言文斷句 講義 中考語文復(fù)習(xí)
- 2025年高中化學(xué)新教材同步 必修第一冊(cè) 第4章 第1節(jié) 第3課時(shí) 原子結(jié)構(gòu)與元素的性質(zhì)
- 綠化費(fèi)合同范本
- 出售肉牛批發(fā)合同范本
- 個(gè)人借款擔(dān)保合同
- 加工銷售合同范本
- 化工儀表習(xí)題庫(kù)及參考答案
- 房地產(chǎn)-保租房REITs2024年度綜述:穩(wěn)立潮頭跨越周期
- 混凝土拌合站拌合運(yùn)輸工程合同
- 2025年湖北省技能高考(建筑技術(shù)類)《建筑制圖與識(shí)圖》模擬練習(xí)試題庫(kù)(含答案)
- 2025國(guó)家電網(wǎng)公司(第二批)招聘陜西省電力公司高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 2025年江蘇連云港瑞馳投資有限公司招聘筆試參考題庫(kù)含答案解析
- 二零二四年度嬰幼兒奶粉電商平臺(tái)銷售合作協(xié)議2篇
- 新版人教版七年級(jí)下冊(cè)數(shù)學(xué)全冊(cè)教案教學(xué)設(shè)計(jì)含教學(xué)反思
- 房地產(chǎn)市場(chǎng)報(bào)告 -2024年第四季度大連寫字樓和零售物業(yè)市場(chǎng)報(bào)告
- 2024年中國(guó)作家協(xié)會(huì)所屬單位招聘筆試真題
- 《中國(guó)古代寓言》導(dǎo)讀(課件)2023-2024學(xué)年統(tǒng)編版語文三年級(jí)下冊(cè)
- 土地開發(fā)整理工程驗(yàn)收中的主要問題與對(duì)策管窺
評(píng)論
0/150
提交評(píng)論