實(shí)驗(yàn)9 Java輸入輸出流.doc_第1頁
實(shí)驗(yàn)9 Java輸入輸出流.doc_第2頁
實(shí)驗(yàn)9 Java輸入輸出流.doc_第3頁
實(shí)驗(yàn)9 Java輸入輸出流.doc_第4頁
實(shí)驗(yàn)9 Java輸入輸出流.doc_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

山西大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院實(shí)驗(yàn)報(bào)告姓 名 學(xué) 號 專業(yè)班級課程名稱 Java實(shí)驗(yàn)實(shí)驗(yàn)日期2013-12-4 成 績指導(dǎo)教師批改日期實(shí)驗(yàn)名稱 實(shí)驗(yàn)9 Java的輸入輸出流l 實(shí)驗(yàn)?zāi)康?. 理解I/O流的概念,掌握其分類2. 掌握文本文件讀寫、二進(jìn)制文件讀寫l 實(shí)驗(yàn)內(nèi)容 1. 分別使用FileWriter 和 BufferedWriter 往文件中寫入1萬個(gè)隨機(jī)數(shù),比較用時(shí)的多少?(用時(shí)采用方法System.currentTimeMillis())求時(shí)間差;使用:FileWriter程序源代碼package a;import java.io.*;public class Filewriter public Filewriter(String string)public static void main(String args)throws IOException long time =System.currentTimeMillis();Filewriter filewriter=new Filewriter(text);int num;for(int i=0;i=10000;i+)num=(int)Math.random()*10000;filewriter.write(num+ );filewriter.close();time=System.currentTimeMillis()-time;System.out.println(使用Filewriter所用時(shí)間:+time+um);private void write(String string)private void close()程序運(yùn)行結(jié)果貼圖使用:BufferedWriter程序源代碼package a;public class Bufferwriter public Bufferwriter(String string)public static void main(String args) long time=System.currentTimeMillis();Bufferwriter a=new Bufferwriter(a.txt);int num;for(int i=0;i=10000;i+)num=(int)Math.random()*10000;a.write(num+ );a.close();time=System.currentTimeMillis()-time;System.out.println(使用Bufferwriter所用時(shí)間:+time+um); private void write(String string)private void close()程序運(yùn)行結(jié)果貼圖2. 課本P547,19.2 :編寫一個(gè)文件,如果文件Exercise 19_2.dat 不存在,就創(chuàng)建一個(gè)名為Exercise 19_2.txt的文件。向這個(gè)文件追加新數(shù)據(jù)。使用二進(jìn)制I/O將100個(gè)隨機(jī)生成的整數(shù)寫入這個(gè)文件中。程序源代碼import java.io.*;public class Exe19_2 public static void main(String args) throws IOException DataOutputStream output=new DataOutputStream(new FileOutputStream(Exe19_2.dat,true);for(int i=0;i100;i+)output.writeInt(int)(Math.random()*100);output.close();System.out.println(Done);程序運(yùn)行結(jié)果貼圖3. 課本P547 19.3:(對二進(jìn)制數(shù)據(jù)文件中的所有數(shù)據(jù)求和)假設(shè)已經(jīng)使用DataOutputStream中的writeInt(int)創(chuàng)建一個(gè)名為Exercise 19_3.dat的二進(jìn)制數(shù)據(jù)文件,文件包含數(shù)目不確定的整數(shù),編寫一個(gè)程序來計(jì)算這些整數(shù)的總和。程序源代碼package a;import java.io.*;public class Exe19_3 public static void main(String args) throws IOException System.out.println(準(zhǔn)備寫入。);File file=new File(Exe19_3.dat);OutputStream write=new FileOutputStream(file);DataOutputStream dos=new DataOutputStream(write);int data=1,2,3,4,5;for(int i=0;idata.length;i+)dos.writeInt(datai);dos.close();System.out.println(寫入結(jié)束。);System.out.println(開始讀取。);InputStream input=new FileInputStream(file);DataInputStream filter=new DataInputStream(input);int result=0;while(true)tryresult +=filter.readInt();catch (Exception e)break;System.out.println(計(jì)算結(jié)果:+result);System.out.println(讀取結(jié)果。);程序運(yùn)行結(jié)果貼圖4. 在文本文件bigbook.txt中包含有很長篇幅的英語短文,編寫程序要求統(tǒng)計(jì)文件的所有短文中包含英文字母“A”的個(gè)數(shù),并顯示統(tǒng)計(jì)的時(shí)間。程序源代碼package a;import java.io.*;public class count public static void main(String args) throws IOExceptionlong time=System.currentTimeMillis();String filename=G:bigbook.txt;FileInputStream f=new FileInputStream(filename);int count=0;int c;while(c=f.read() !=-1)if(c=A)count+;f.close();System.out.println(bigbook.txt中A的個(gè)數(shù):+count);time=System.currentTimeMillis()-time;System.out.println(時(shí)間為:+time);程序運(yùn)行結(jié)果貼圖5. 編寫一個(gè)Java應(yīng)用程序,給當(dāng)前的類所在的文件ReadExample.java添加行號拷貝到另一個(gè)文件temp.text。先在G:存入要拷貝的文件Welcome.txt。程序源代碼package c;import java.io.*;public class ReadExample public static void main(String args) throws IOExceptionFile file=new File(G:,Welcome.txt);File tempFile=new File(G:,temp.txt);FileReader inone=new FileReader(file);BufferedReader intwo=new BufferedReader(inone);FileWriter tofile=new FileWriter(tempFile);BufferedWriter out=new BufferedWriter(tofile);int i=0;String s=intwo.readLine();while(s!=null)i+;out.write(i+ +s);out.newLine();s=intwo.readLine();inone.close();intwo.close();out.flush();/清空輸出流out.close();tofile.close();程序運(yùn)行結(jié)果貼圖執(zhí)行完之后,在當(dāng)前目錄下產(chǎn)生一個(gè)temp.txt文件。:打開后:P547 19.5(將對象和數(shù)組存儲在文件中)編寫一個(gè)程序,向一個(gè)名為Exercise19_5.dat的文件中存儲一個(gè)含5個(gè)int值1,2,3,4,5的數(shù)組,存儲一個(gè)表示當(dāng)前時(shí)間的Date對象,存儲一個(gè)double值5.5程序源代碼package c;import java.io.*;public class Exe19_5 public static void main(String args) throws IOException,ClassNotFoundExceptionint number=1,2,3,4,5;ObjectOutputStream output=new ObjectOutputStream(new FileOutputStream(Exe19_5.dat);output.writeObject(number);output.writeDouble(5.5);output.writeObject(new java.util.Date();output.close();ObjectInputStream input=new ObjectInputStream(new FileInputStream(Exe19_5.dat);System.out.println(存儲的數(shù)組為:);int readNumber=(int)(input.readObject();for(int i=0;ireadNumber.length;i+)System.out.print(readNumberi+ );double num=input.readDouble();java.util.Date date=(java.util.Date)(input.readObject();System.out.println(ndouble型的數(shù)為:+num+n+日期為:+date);程序運(yùn)行結(jié)果貼圖P548 19.12(組合文件)編寫一個(gè)工具程序,使它能夠用下面的命令,將文件組合在一起構(gòu)成一個(gè)新文件:java Exercise19_12 SourceFile1SourceFilen TargetFile這個(gè)命令將 SourceFile1,SourceFilen合并為TargetFile。程序源代碼package c;import java.io.*;public class Exe19_12 public static void main(String args) throws Exception if(args.length2)System.out.println(Usage:java Exe19_12 SourceFile1 . SourceFilen TargetFile);System.exit(0);BufferedOutputStream output =new BufferedOutputStream(new FileOutputSt

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論