




已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
山西大學計算機與信息技術學院實驗報告姓 名 學 號 專業(yè)班級課程名稱 Java實驗實驗日期2013-12-4 成 績指導教師批改日期實驗名稱 實驗9 Java的輸入輸出流l 實驗目的1. 理解I/O流的概念,掌握其分類2. 掌握文本文件讀寫、二進制文件讀寫l 實驗內(nèi)容 1. 分別使用FileWriter 和 BufferedWriter 往文件中寫入1萬個隨機數(shù),比較用時的多少?(用時采用方法System.currentTimeMillis())求時間差;使用: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所用時間:+time+um);private void write(String string)private void close()程序運行結(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所用時間:+time+um); private void write(String string)private void close()程序運行結(jié)果貼圖2. 課本P547,19.2 :編寫一個文件,如果文件Exercise 19_2.dat 不存在,就創(chuàng)建一個名為Exercise 19_2.txt的文件。向這個文件追加新數(shù)據(jù)。使用二進制I/O將100個隨機生成的整數(shù)寫入這個文件中。程序源代碼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);程序運行結(jié)果貼圖3. 課本P547 19.3:(對二進制數(shù)據(jù)文件中的所有數(shù)據(jù)求和)假設已經(jīng)使用DataOutputStream中的writeInt(int)創(chuàng)建一個名為Exercise 19_3.dat的二進制數(shù)據(jù)文件,文件包含數(shù)目不確定的整數(shù),編寫一個程序來計算這些整數(shù)的總和。程序源代碼package a;import java.io.*;public class Exe19_3 public static void main(String args) throws IOException System.out.println(準備寫入。);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(計算結(jié)果:+result);System.out.println(讀取結(jié)果。);程序運行結(jié)果貼圖4. 在文本文件bigbook.txt中包含有很長篇幅的英語短文,編寫程序要求統(tǒng)計文件的所有短文中包含英文字母“A”的個數(shù),并顯示統(tǒng)計的時間。程序源代碼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的個數(shù):+count);time=System.currentTimeMillis()-time;System.out.println(時間為:+time);程序運行結(jié)果貼圖5. 編寫一個Java應用程序,給當前的類所在的文件ReadExample.java添加行號拷貝到另一個文件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();程序運行結(jié)果貼圖執(zhí)行完之后,在當前目錄下產(chǎn)生一個temp.txt文件。:打開后:P547 19.5(將對象和數(shù)組存儲在文件中)編寫一個程序,向一個名為Exercise19_5.dat的文件中存儲一個含5個int值1,2,3,4,5的數(shù)組,存儲一個表示當前時間的Date對象,存儲一個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);程序運行結(jié)果貼圖P548 19.12(組合文件)編寫一個工具程序,使它能夠用下面的命令,將文件組合在一起構(gòu)成一個新文件:java Exercise19_12 SourceFile1SourceFilen TargetFile這個命令將 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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護理片區(qū)質(zhì)量分析及總結(jié)計劃
- 學校如何落實素質(zhì)教育
- 少先隊大隊部工作總結(jié)
- 四害防治服務合同(2篇)
- 教科版(2017)科學五年下冊《溫度不同的物體相互接觸》說課(附反思、板書)課件
- 房源共租協(xié)議
- 林木砍伐與補植合同
- 景點資源共享協(xié)議
- 醫(yī)務人員禮儀培訓
- 餐飲年終工作總結(jié)
- 80米鋼筋混凝土煙囪施工方案
- 設備備件分類標準
- 2024年事業(yè)單位考試(中小學教師類D類)綜合應用能力試卷與參考答案
- 智算中心項目技術可行性分析
- 二十屆三中全會試題及答案
- 睪丸扭轉(zhuǎn)術后護理查房
- DB13(J)-T 8550-2023 建設工程消防設計編制深度與查驗標準
- 重大事故隱患判定標準與相關事故案例培訓課件
- 專業(yè)法律風險評估
- (正式版)CB∕T 4548-2024 船舶行業(yè)企業(yè)相關方安全管理要求
- 拖欠租金起訴狀模板范文
評論
0/150
提交評論