![第9章輸入流與輸出流_第1頁](http://file4.renrendoc.com/view/975c63c5f7c3854c2b2c97b65c184eac/975c63c5f7c3854c2b2c97b65c184eac1.gif)
![第9章輸入流與輸出流_第2頁](http://file4.renrendoc.com/view/975c63c5f7c3854c2b2c97b65c184eac/975c63c5f7c3854c2b2c97b65c184eac2.gif)
![第9章輸入流與輸出流_第3頁](http://file4.renrendoc.com/view/975c63c5f7c3854c2b2c97b65c184eac/975c63c5f7c3854c2b2c97b65c184eac3.gif)
![第9章輸入流與輸出流_第4頁](http://file4.renrendoc.com/view/975c63c5f7c3854c2b2c97b65c184eac/975c63c5f7c3854c2b2c97b65c184eac4.gif)
![第9章輸入流與輸出流_第5頁](http://file4.renrendoc.com/view/975c63c5f7c3854c2b2c97b65c184eac/975c63c5f7c3854c2b2c97b65c184eac5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第九章輸入、輸出流
本章導(dǎo)讀1.文件2.文件字節(jié)流3.文件字符流4.從鍵盤讀取數(shù)據(jù)5.緩沖流6.?dāng)?shù)組流7.字符串流8.?dāng)?shù)據(jù)流9.管道流10.對象流11.序列化與對象克隆12.隨機讀寫流13.文件鎖輸入/輸出流(
簡稱I/O流)I/O流中的輸入流的指向稱做源,輸出流的指向稱做目的地。程序從指向源的輸入流中讀取源中的數(shù)據(jù),通過向輸出流中寫入數(shù)據(jù)把信息傳遞到目的地。程序的源和目的地常常是磁盤文件,也可以是鍵盤、鼠標(biāo)、顯示器等。java.io包中提供大量關(guān)于流的類,例如下列重要的abstract類等:1.InputStream(字節(jié)輸入流)2.Reader(字符輸入流)3.OutputStream(字節(jié)輸出流)4.Writer(字符輸出流)InputStream、Reader類提供讀取數(shù)據(jù)的read()方法;OutputStream、Writer類提供寫入數(shù)據(jù)的write()方法。用于從源中按照字節(jié)或字符方式讀取數(shù)據(jù)或?qū)?shù)據(jù)傳遞到目的地。9.1
文件文件類(File類)File類的構(gòu)造方法:File(Stringfilename);
創(chuàng)建當(dāng)前路徑下的指定文件File(StringdirectoryPath,Stringfilename);
創(chuàng)建指定路徑下的指定文件File(StringdirectoryPath);創(chuàng)建指定路徑下的文件對象File(Filef,Stringfilename);
創(chuàng)建指定目錄的指定文件,f是一個目錄。1.文件的屬性經(jīng)常使用File類的下列方法獲取文件本身的一些信息:publicStringgetName()獲取文件的名字。publicbooleancanRead()判斷文件是否是可讀的。publicbooleancanWrite()判斷文件是否可被寫入。publicbooleanexits()判斷文件是否存在。publiclonglength()獲取文件的長度(單位是字節(jié))。publicStringgetAbsolutePath()獲取文件的絕對路徑。publicStringgetParent()獲取文件的父目錄。publicbooleanisFile()判斷文件是否是一個正常文件,而不是目錄。publicbooleanisDirectroy()判斷文件是否是一個目錄。publicbooleanisHidden()判斷文件是否是隱藏文件。publiclonglastModified()獲取文件最后修改的時間(時間是從1970年午夜至文件最后修改時刻的毫秒數(shù)2.目錄(1)創(chuàng)建目錄publicbooleanmkdir():創(chuàng)建一個目錄,如果創(chuàng)建成功返回true,否則返回false。(2)列出目錄中的文件publicString[]list()用字符串形式返回目錄下的全部文件。
publicFile[]listFiles()用File對象形式返回目錄下的全部文件。publicString[]list(FilenameFilterobj)該方法用字符串形式返回目錄下的指定類型的所有文件。publicFile[]listFiles(FilenameFilterobj)
該方法用File對象返回目錄下的指定類型所有文件。
3.文件的創(chuàng)建與刪除使用File類創(chuàng)建一個文件對象,例如
Filef=newFile("c:\\myletter","letter.txt");如果c:\myletter目錄中沒有名字為letter.txt文件,文件對象f調(diào)用方法:
publicbooleancreateNewFile()可以在c:\myletter目錄中建立一個名字為letter.txt的文件。文件對象調(diào)用方法
publicbooleandelete()可以刪除當(dāng)前文件,例如:
f.delete();importjava.io.*;publicclassExample{publicstaticvoidmain(Stringargs[]){
Filedir=newFile("E:/lx");//不可寫成D:\lx,可以寫成D:\\lx或D:/lx
Filef=newFile(dir,"test.txt");try{
f.createNewFile();
}
catch(IOExceptione){ System.out.println(e);}System.out.println("文件名稱:"+f.getName());System.out.println("文件"+f.getName()+"是否可讀:"+f.canRead());
System.out.println("文件"+f.getName()+"是否可寫:"+f.canWrite());
System.out.println("文件"+f.getName()+"的長度:"+f.length());System.out.println("文件"+f.getName()+"的最后修改的時間:"+f.lastModified());
}}
4.運行可執(zhí)行文件首先使用Runtime
類聲明一個對象,如:Runtimeec;然后使用靜態(tài)getRuntime()方法創(chuàng)建這個對象:ec=Runtime.getRuntime();ec可以調(diào)用exec(Stringcommand)方法打開本地機的可執(zhí)行文件或執(zhí)行一個操作。importjava.io.*;publicclassExample{publicstaticvoidmain(Stringargs[]){try{Runtimece=Runtime.getRuntime();Filefile=newFile("C:\\windows\\system32","calc.exe");ce.exec(file.getAbsolutePath());}
catch(Exceptione){System.out.println(e);}}}Runtime對象運行windows平臺上的計算器程序。9.2
文件字節(jié)流FileInputStream(文件字節(jié)輸入流)類是InputStream類的子類FileInputStream類構(gòu)造方法:
FileInputStream(Stringname)
創(chuàng)建指定文件名的字節(jié)輸入流方式文件。FileInputStream(Filefile)
創(chuàng)建指定文件名(File對象)的字節(jié)輸入流方式文件。1.FileInputStream類FileInputStream類的read方法:輸入流的唯一目的是提供通往數(shù)據(jù)的通道,程序可以通過這個通道讀取數(shù)據(jù),read方法給程序提供一個從輸入流中讀取數(shù)據(jù)的基本方法。intread();read方法從輸入流中順序讀取單個字節(jié)的數(shù)據(jù)。該方法返回字節(jié)值(0~255之間的一個整數(shù)),讀取位置到達(dá)文件末尾,則返回-1。read方法還有其它一些形式。這些形式能使程序把多個字節(jié)讀到一個字節(jié)數(shù)組中:intread(byteb[]);intread(byteb[],intoff,intlen);其中,off參數(shù)指定read方法把數(shù)據(jù)存放在字節(jié)數(shù)組b中的什么地方樣,len參數(shù)指定該方法將讀取的最大字節(jié)數(shù)。上面所示的這兩個read方法都返回實際讀取的字節(jié)個數(shù),如果它們到達(dá)輸入流的末尾,則返回-1。
FileInputStream類的read方法:2.FileOutputStream類FileOutputStream(文件字節(jié)輸出流)類是OutputStream類的子類FileOutputStream類的構(gòu)造方法:
FileOutputStream(Stringname)
FileOutputStream(Filefile)輸出流通過使用write()方法把數(shù)據(jù)寫入輸出流到達(dá)目的地。write()方法publicvoidwrite(byteb[])寫b.length個字節(jié)到輸出流。publicvoidwrite(byteb[],intoff,intlen)從給定字節(jié)數(shù)組中起始于偏移量off處寫len個字節(jié)到輸出流,參數(shù)b是存放了數(shù)據(jù)的字節(jié)數(shù)組。例:將“歡迎Welcome”寫入到“Test.txt”中。importjava.io.*;publicclassExample{publicstaticvoidmain(Stringargs[]){
Filefile=newFile("E:\\lx","test.txt");byteb[]="歡迎welcome".getBytes();
try{FileOutputStreamout=newFileOutputStream(file);
out.write(b);
out.close();}catch(IOExceptione){System.out.println(e);}}}9.3
文件字符流FileReader(文件字符輸入流)類是Reader的子類FileReader構(gòu)造方法:FileReader(Stringname)FileReader(Filefile)
1.FileReader類intread()輸入流調(diào)用該方法從源中讀取一個字符,該方法返回一個整數(shù)(0~65535之間的一個整數(shù),Unicode字符值),如果未讀出字符就返回-1。intread(charb[])輸入流調(diào)用該方法從源中讀取b.length個字符到字符數(shù)組b中,返回實際讀取的字符數(shù)目。如果到達(dá)文件的末尾,則返回-1。intread(charb[],intoff,intlen)輸入流調(diào)用該方法從源中讀取len個字符并存放到字符數(shù)組b中,返回實際讀取的字符數(shù)目。如果到達(dá)文件的末尾,則返回-1。其中,off參數(shù)指定read方法從符數(shù)組b中的什么地方存放數(shù)據(jù)read()方法
2.FileWriter類FileWriter(文件字符輸出流)類是Writer的子類FileWriter構(gòu)造方法FileWriter(Stringname)FileWriter(Filefile)創(chuàng)建FileWriter對象,輸出流通過使用write()方法把字符數(shù)據(jù)寫入輸出流到達(dá)目的地。publicvoidwrite(charb[])寫b.length個字符到輸出流。publicvoid.write(charb[],intoff,intlen)從給定字符數(shù)組中起始于偏移量off處寫len個字符到輸出流,參數(shù)b是存放了數(shù)據(jù)的字符數(shù)組。voidwrite(Stringstr)把字符串中的全部字符寫入到輸出流。voidwrite(Stringstr,intoff,intlen)從字符串str中起始于偏移量off處寫len個字符到輸出流。writer()方法例子:首先用字符輸出流向一個文件寫入若干個字符,然后再用字符輸入流讀出文件中的內(nèi)容。importjava.io.*;publicclassExample{publicstaticvoidmain(Stringargs[]){
Filefile=newFile("E:\\lx","test.txt");charb[]="歡迎您".toCharArray();
try{FileWriterout=newFileWriter(file);out.write(b);
out.write("來到山東科技大學(xué)!");out.close();FileReaderin=newFileReader(file);intn=0;
while((n=in.read(b,0,2))!=-1){Stringstr=newString(b,0,n);System.out.println(str);
}in.close();
}catch(IOExceptione){System.out.println(e);}}}9.4從鍵盤讀取數(shù)據(jù)java.lang包中的System類有兩個重要的類成員:in和out,分別是輸入流和輸出流類型的對象。in的源是鍵盤,in可以讀取用戶從鍵盤鍵入的數(shù)據(jù)。
Scanner類可以使用in初始化一個對象:Scannerreader=newScanner(System.in);
然后reader對象調(diào)用方法,讀取用戶在命令行輸入的各種數(shù)據(jù)類型。
out流的目的地是命令行窗口,out調(diào)用方法可以將數(shù)據(jù)送到命令行窗口。返回9.5緩沖流BufferedReader
類創(chuàng)建的對象稱為緩沖輸入流,該輸入流的指向必須是一個Reader流,稱為BufferedReader流的底層流,底層流負(fù)責(zé)將數(shù)據(jù)讀入緩沖區(qū)。如果在讀取文件時,每次準(zhǔn)備讀取一行,采用FileReader較難實現(xiàn)。為解決按行讀取,可將BufferedReader與FileReader鏈接,此時BufferedReader可以按行讀取FileReader指向的文件數(shù)據(jù)。
1.BufferedReader類BufferedReader(Readerin)BufferedReader流能夠通過方法readLine()按行讀取文本。BufferedReader類構(gòu)造方法通過向BufferedReader傳遞一個Reader對象(如FileReader的實例),來創(chuàng)建一個BufferedReader對象,如:FileReaderinOne=newFileReader(“Person.txt”);BufferedReaderinTwo=newBufferedReader(inOne);然后inTwo調(diào)用readLine()順序讀取文件“Person.txt”的一行。2.BufferedWriter類類似地,可以將BufferedWriter流和FileWriter流連接在一起,然后使用BufferedWriter流將數(shù)據(jù)寫到目的地,例如:FileWritertofile=newFileWriter("hello.txt");BufferedWriterout=newBufferedWriter(tofile);BufferedReader流調(diào)用方法:write(Stringstr)write(Strings,intoff,intlen)把字符串s或s的一部分寫入到目的地。例子:我們將文件“Person.txt”中的內(nèi)容按行讀出,并寫入到另一個文件“Student.txt”中,且給每一行加上行號。importjava.io.*;publicclassExample{publicstaticvoidmain(Stringargs[]){
FilereadFile=newFile("E:\\lx","Person.txt"),
writeFile=newFile("E:\\lx","Student.txt");try{FileReaderinOne=newFileReader(readFile);BufferedReaderinTwo=newBufferedReader(inOne);FileWritertofile=newFileWriter(writeFile);BufferedWriterout=newBufferedWriter(tofile);Strings=null;inti=0;
while((s=inTwo.readLine())!=null){i++;out.write(i+""+s);out.newLine();}out.flush();out.close();tofile.close();}catch(IOExceptione){System.out.println(e);}}}9.6數(shù)組流字節(jié)輸入流:ByteArrayInputStream和字節(jié)輸出流:ByteArrayOutputStream分別使用字節(jié)數(shù)組作為流的源和目標(biāo)。使用下列ByteArrayInputStream流的兩個構(gòu)造方法構(gòu)造字節(jié)數(shù)組輸入流對象:
ByteArrayInputStream(byte[]buf)
ByteArrayInputStream(byte[]buf,intoffset,intlength)第一個構(gòu)造方法構(gòu)造的數(shù)組字節(jié)流的源是參數(shù)buf指定的數(shù)組的全部字節(jié)單元,第二個構(gòu)造方法構(gòu)造的數(shù)組字節(jié)流的源是參數(shù)buf指定的數(shù)組從offset處取的length個字節(jié)單元。使用下列ByteArrayOutputStream流的兩個構(gòu)造方法構(gòu)造字節(jié)數(shù)組輸出流對象:
ByteArrayOutputStream()
ByteArrayOutputStream(intsize)第一個構(gòu)造方法構(gòu)造的數(shù)組字節(jié)輸出流指向一個默認(rèn)大小為32字節(jié)的緩沖區(qū),如果輸出流向緩沖區(qū)寫入的字節(jié)個數(shù)大于緩沖區(qū)時,緩沖區(qū)的容量會自動增加。第二個構(gòu)造方法構(gòu)造的數(shù)組字節(jié)輸出流指向的緩沖區(qū)的初始大小由參數(shù)size指定,如果輸出流向緩沖區(qū)寫入的字節(jié)個數(shù)大于緩沖區(qū)時,緩沖區(qū)的容量會自動增加。數(shù)組字節(jié)輸出流調(diào)用
publicbyte[]toByteArray()方法,可以返回輸出流寫入到緩沖區(qū)的全部字節(jié)。數(shù)組字節(jié)流讀寫操作不會發(fā)生IOException異常。例:我們向內(nèi)存(輸出流的緩沖區(qū))寫入ASCII表,然后再讀出這些字節(jié)和字節(jié)對應(yīng)的字符。importjava.io.*;publicclassExample{publicstaticvoidmain(Stringargs[]){intn=-1;
ByteArrayOutputStreamout=newByteArrayOutputStream();for(inti=1;i<=127;i++){out.write(i);}
ByteArrayInputStreamin=newByteArrayInputStream(out.toByteArray());while((n=in.read())!=-1){if(n%2==0){System.out.printf("\n");}System.out.printf("\t字節(jié)%d,對應(yīng)字符\'%c\'",n,(char)n);}}}與數(shù)組字節(jié)流對應(yīng)的是數(shù)組字符流:CharArrayReader與CharArrayWriter類,數(shù)組字符流分別使用字符數(shù)組作為流的源和目標(biāo)。與數(shù)組字節(jié)流不同的是,數(shù)組字符流的讀操作可能發(fā)生IOException異常。例:將Unicode表中的一些字符寫入內(nèi)存,然后再讀出。importjava.io.*;publicclassExample{publicstaticvoidmain(Stringargs[]){intn=-1;CharArrayWriterout=newCharArrayWriter();for(inti=20320;i<=20380;i++){out.write(i);}CharArrayReaderin=newCharArrayReader(out.toCharArray());
try{
while((n=in.read())!=-1){if(n%2==0){System.out.printf("\n");}System.out.printf("\t位置%d,字符\'%c\'",n,(char)n);}}catch(IOExceptione){}}}9.7字符串流StringReader使用字符串作為流的源。使用下列構(gòu)造方法構(gòu)造字符串輸入流對象:
publicStringReader(Strings)該構(gòu)造方法構(gòu)造的輸入流指向參數(shù)s指定的字符串,字符串輸入流調(diào)用
publicintread()方法順序讀出源中的一個字符,并返回字符在Unicode表中的位置;調(diào)用
publicintread(char[]buf,intoff,intlen)方法可以順序地從源中讀出參數(shù)len指定的字符個數(shù),并將讀出的字符存放到參數(shù)b指定的數(shù)組中,參數(shù)off指定數(shù)組b存放讀出字符的起始位置,該方法返回實際讀出的字符個數(shù)。字符串輸出流調(diào)用下列方法向緩沖區(qū)寫入字符: publicvoidwrite(intb) publicvoidwrite(char[]b,intoff,intlen) publicvoidwrite(Stringstr) publicvoidwrite(Stringstr,intoff,intlen)字符串輸出流調(diào)用toString()方法,可以返回輸出流寫入到緩沖區(qū)的全部字符: publicStringtoString()字符串輸出流調(diào)用flush()方法可以刷新緩沖區(qū)。 publicvoidflush()返回9.8數(shù)據(jù)流1.DataInputStream類和DataOutputStream類
DataInputStream
類和DataOutputStream類創(chuàng)建的對象稱為數(shù)據(jù)輸入流和數(shù)據(jù)輸出流。2.DataInputStream類和DataOutputStream的構(gòu)造方法(1)DataInputStream(InputStreamin)將創(chuàng)建的數(shù)據(jù)輸入流指向一個由參數(shù)in指定的輸入流,以便從后者讀取數(shù)據(jù)(按著機器無關(guān)的風(fēng)格讀?。?。(2)DataOutputStream(OutnputStreamout)將創(chuàng)建的數(shù)據(jù)輸出流指向一個由參數(shù)out指定的輸出流,然后通過這個數(shù)據(jù)輸出流把Java數(shù)據(jù)類型的數(shù)據(jù)寫到輸出流out。DataInputStream類和DataOutputStream類的常用方法方法描述readBoolean()讀取一個布爾值readByte()讀取一個字節(jié)readChar()讀取一個字符readDouble()讀取一個雙精度浮點值…………writeBoolean(booleanv)把一個布爾值作為單字節(jié)值寫入writeBytes(Strings)寫入一個字符串writeChars(Strings)寫入字符串writeDouble(doublev)寫入一個雙精度浮點值…………
例:完成寫幾個Java類型的數(shù)據(jù)到一個文件,并再讀出來。importjava.io.*;publicclassExample{publicstaticvoidmain(Stringargs[]){try{ Filef=newFile("E:\\lx","jerry.dat"); FileOutputStreamfos=newFileOutputStream(f);DataOutputStreamout_data=newDataOutputStream(fos);out_data.writeInt(100);out_data.writeInt(10012);out_data.writeLong(123456);out_data.writeFloat(3.1415926f);out_data.writeFloat(2.789f);out_data.writeDouble(987654321.1234);out_data.writeBoolean(true);out_data.writeBoolean(false);out_data.writeChars("Iamok");fos.close();}catch(IOExceptione){}try{ Filef=newFile("E:\\lx","jerry.dat"); FileInputStreamfis=newFileInputStream(f);DataInputStreamin_data=newDataInputStream(fis);System.out.println(":"+in_data.readInt());//讀取第1個int整數(shù)
System.out.println(":"+in_data.readInt());//讀取第2個int整數(shù)
System.out.println(":"+in_data.readLong());//讀取long整數(shù)
System.out.println(":"+in_data.readFloat());//讀取第1個float數(shù)
System.out.println(":"+in_data.readFloat());//讀取第2個float數(shù)
System.out.println(":"+in_data.readDouble());System.out.println(":"+in_data.readBoolean());//讀取第1個boolean值
System.out.println(":"+in_data.readBoolean());//讀取第2個boolean值
charc;while((c=in_data.readChar())!='\0')//'\0'表示空字符
System.out.print(c);in_data.close();}catch(IOExceptione){}}}9.9對象流
1.ObjectInputStream類和ObjectOutputStream類
ObjectInputStream類和ObjectOutputStream類創(chuàng)建的對象被稱為對象輸入流和對象輸出流。對象輸出流使用writeObject(Objectobj)方法將一個對象obj寫入輸出流送往目的地,對象輸入流使用readObject()從源中讀取一個對象到程序中。
ObjectInputStream類和ObjectOutputStream類的構(gòu)造方法分別是:
ObjectInputStream(InputStreamin)ObjectOutputStream(OutputStreamout)
作業(yè)P1921、2、4Java提供給我們的絕大多數(shù)對象都是所謂序列化的,比如組件等。一個類如果實現(xiàn)了Serializable接口,那么這個類創(chuàng)建的對象就是所謂序列化的對象。Serializable接口中的方法對程序是不可見的,因此實現(xiàn)該接口的類不需要實現(xiàn)額外的方法,當(dāng)把一個序列化的對象寫入到對象輸出流時,JVM就會實現(xiàn)Serializable接口中的方法,按著一定格式的文本將對象寫入到目的地。在下面的例子9中有一個實現(xiàn)接口Serializable的Goods類。返回9.11序列化與對象克隆使用對象流很容易得獲取一個序列化對象的克隆。我們只需將該對象寫入到對象輸出流,然后用對象輸入流讀回的對象就是原對象的一個克隆。在下面的例子10中,我們將對象寫入到內(nèi)存,然后讀回該對象的一個克隆。返回9.12隨機讀寫流RandomAccessFile類的兩個構(gòu)造方法:(1)RandomAccessFile(Stringname,Stringmode)參數(shù)name用來確定一個文件名,給出創(chuàng)建的流的源,也是流目的地。參數(shù)mode取r(只讀)或rw(可讀寫),決定創(chuàng)建的流對文件的訪問權(quán)利。(2)RandomAccessFile(Filefile,Stringmode):參數(shù)file
是一個File對象,給出創(chuàng)建的流的源,也是流目的地。參數(shù)mode取r(只讀)或rw(可讀寫),決定創(chuàng)建的流對文件的訪問權(quán)利。RandomAccessFile類的常用方法方法描述close()關(guān)閉文件getFilePointer()獲取文件指針的位置length()獲取文件的長度read()從文件中讀取一個字節(jié)的數(shù)據(jù)readBoolean()從文件中讀取一個布爾值readByte()從文件中讀取一個字節(jié)readChar()讀取一個字符readDouble()從文件中讀取一個雙精度浮點值…………seek()定位文件指針在文件中的位置setLength(longnewlength)設(shè)置文件的長度skipBytes(intn)在文件中跳過給定數(shù)量的字節(jié)write(byteb[])寫b.length個字節(jié)到文件writeBoolean(booleanv)把一個布爾值作為單字節(jié)值寫入文件writeByte(intv)向文件寫入一個字節(jié)writeBytes(Strings)向文件寫入一個字符串writeChar(charc)向文件寫入一個字符writeChars(Strings)向文件寫入一個作為字符數(shù)據(jù)的字符串writeDouble(doublev)向文件寫入一個雙精度浮點值…………
例子:把幾個int型整數(shù)寫入到一個名字為E:\test\a.dat文件中,然后按相反順序讀出這些數(shù)據(jù)。
返回importjava.io.*;publicclassExample{publicstaticvoidmain(Stringargs[]){
Filef=newFile("E:\\test","a.dat");
RandomAccessFileinAndOut=null;intdata[]={20,30,40,50,60};try{
inAndOut=newRandomAccessFile(f,"rw");
}catch(Exceptione){}try{
for(inti=0;i<data.length;i++)
inAndOut.writeInt(data[i]);
for(longi=data.length-1;i>=0;i--){
inAndOut.seek(i*4);
System.out.printf("\t%d",inAndOut.readInt());
}System.out.print("\n");
inAndOut.close();
}
catch(IOExceptione){}}}例子中RondomAccessFile流使用readLine()讀取一個文件
返回importjava.io.*;publicclassExample{publicstaticvoidmain(Stringargs[]){
Filef=newFile("E:\\test","Example.java");
RandomAccessFilein=null;try{
in=newRandomAccessFile(f,"rw");
longlength=in.length();//獲取文件的長度
longposition=0;
in.seek(position);//將讀取位置定位到文件的頭
while(position<length){
Stringstr=in.readLi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電商平臺物流配送外包協(xié)議
- 新一代智慧城市物流規(guī)劃與建設(shè)方案研究
- 遙控?zé)o人機航拍合同
- 建筑工地施工安全責(zé)任與風(fēng)險免責(zé)協(xié)議
- 五保戶照料協(xié)議書
- 基金投資行業(yè)保密協(xié)議
- 合作居間費的合同
- 天然氣工程施工合同
- 物流園區(qū)投資開發(fā)合同
- 人教版五年級下冊數(shù)學(xué)求最大公因數(shù)練習(xí)200題及答案
- 5.0Mt-a煉焦煤選煤廠初步設(shè)計-畢業(yè)論文
- 2023智聯(lián)招聘行測題庫
- 中國工筆花鳥畫
- T型廣告牌預(yù)算表
- 醫(yī)療健康-泌尿生殖系統(tǒng)外科疾病主要癥狀醫(yī)學(xué)課件
- 紅樓夢英文版(楊憲益譯)
- 中國節(jié)能協(xié)會團(tuán)體標(biāo)準(zhǔn)草案模板
- 招投標(biāo)現(xiàn)場項目經(jīng)理答辯(完整版)資料
- 初三開學(xué)第一課家長會優(yōu)秀課件兩篇
- 大學(xué)開學(xué)第一課班會PPT
- 企業(yè)新春茶話會PPT模板
評論
0/150
提交評論