實驗04-Java輸入輸出流報告_第1頁
實驗04-Java輸入輸出流報告_第2頁
實驗04-Java輸入輸出流報告_第3頁
實驗04-Java輸入輸出流報告_第4頁
實驗04-Java輸入輸出流報告_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

實驗四Java輸入輸出流1.實驗目的(1)掌握輸入輸出流的總體結構;(2)掌握流的概念;(3)了解各種流〔包括文件流、過濾流、對象的序列化、隨機訪問〕的使用。2.實驗內容實驗題1編寫一個JavaApplication程序,打印命令行輸入的所有參數。[根本要求]編寫完整程序。運行結果:代碼如下:importjava.util.Scanner;publicclassCommandOutPut{/** *@paramargs */publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub System.out.println("Pleaseinput:"); Scannerin=newScanner(System.in); Stringstr=in.nextLine(); System.out.println("Theoutputresults:"); System.out.println(str); in.close(); }}實驗題2通過鍵盤輸入路徑,搜索指定路徑下的全部內容。運行結果:代碼如下:package.output;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;publicclassOutput{/** *@paramargs *@throwsIOException */publicstaticvoidmain(String[]args)throwsIOException{//TODOAuto-generatedmethodstub StringfileName="d:\\xxx.txt"; Filefile=newFile(fileName);byte[]b=newbyte[(int)file.length()]; FileInputStreamout=newFileInputStream(file); out.read(b); out.close(); Strings=newString(b);//將字節流轉換為字符串 System.out.println(s);}}實驗題3設計一個類FileRWTest,實現從input.txt文件中讀入數據到字符數組cBuffer中,然后再寫入到文件“output.txt〞中。運行結果:代碼:package.fileRWTester;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;publicclassFileRWTest{/** *@paramargs *@throwsIOException */publicstaticvoidmain(String[]args)throwsIOException{//TODOAuto-generatedmethodstub BufferedReadersource=newBufferedReader(newFileReader("d:\\input.txt")); BufferedWritertarget=newBufferedWriter(newFileWriter("d:\\output.txt"));//byte[]cBuffer=newbyte[(int)((CharSequence)source).length()]; Stringtemp=null;////將字節流轉換為字符串while((temp=source.readLine())!=null){ target.write(temp); target.newLine(); target.flush(); } source.close(); target.close(); }}實驗題4建立一個書籍信息的文本文件,其中包括編號、書籍名稱、版本、價格、銷售額字段及5本書籍的記錄。編寫程序讀入書籍信息文件并將第3本、第4本書籍價格分別增加20和30,再將修改后的書籍信息文件輸出到另一個文本文件中〔文件名稱為book.txt〕。文本文件book.txt內容如下:編號名稱版本價格銷售額 1001 Java程序設計 第2版 56.9 560 1002 Java開發實戰 第1版 98.9 820 1003 C++程序設計指南 第3版 62.5 362 1004 EJB3.0入門經典 第1版 59.8 1280 1005Spring3.0inAction 第3版 95.8 1189設計思路:首先建立一個Book類,定義屬性privateStringnum,privateStringname,privateStringedition,privateFloatprice,privateFloatslaes,在主函數中創立5個實例,并把值賦給Stringtext,然后調用target.write()函數寫入文件book里。運行結果:檢測是否寫入,用read()函數讀出:代碼:package.Input.tester;importjava.io.BufferedWriter;importjava.io.FileWriter;importjava.io.IOException;import.Input.clas.Book;publicclassInputTester{/** *@paramargs *@throwsIOException */publicstaticvoidmain(String[]args)throwsIOException{//TODOAuto-generatedmethodstub Bookb1=newBook("1001","Java程序設計","第2版",56.9F,560f); Bookb2=newBook("1002","Java開發實戰","第1版",98.9f,820f); Bookb3=newBook("1003","C++程序設計指南","第3版",62.5f,362f); Bookb4=newBook("1004","EJB3.0入門經典","第1版",59.8f,1280f); Bookb5=newBook("1005","Spring3.0inAction","第3版",95.8f,1189f); Book[]books={b1,b2,b3,b4,b5}; Stringtext=null;for(intindex=0;index<books.length;++index){ text+=books[index]; text+='\n'; } BufferedWritertarget=newBufferedWriter(newFileWriter("d:\\book.txt")); target.write(text); target.flush(); }}問題:忘記在Book類中些toString函數,故導致每次寫入都不是想要寫入的東西。實驗題5有四個類,主類Store在包中,Mobile、Mp3Player、Product在包.data中,Mobile、Mp3Player是Product類的子類,Product類實現Seralizable接口。根本要求:〔1〕在Store類中用ObjectOutputStream類的對象把Mobile、Mp3Player類對象輸出到文件“product.txt〞中。〔2〕在Store類中用ObjectInputStream類的對象從文件“product.txt〞輸入數據并將其輸出。實驗設計:在product中重寫writeObject和raedObject函數,并在主函數中調用writeObject和raedObject函數對文件讀寫。實驗結果:寫入文件的從文件中讀出的:代碼:Product中的writeObject和raedObject函數:privatevoidwriteObject(ObjectOutputStreamoos)throwsIOException{ oos.defaultWriteObject(); oos.writeBytes(getName()); oos.writeFloat(getPrice()); }privatevoidreadObject(ObjectInputStreamois)throwsIOException, ClassNotFoundException{ ois.defaultReadObject(); }主函數:package.nwsuaf.jp.p4;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.ObjectInputStream;importjava.io.ObjectOutputStream;import.nwsuaf.jp.p4.data.Mobile;import.nwsuaf.jp.p4.data.Mp3Player;publicclassStore{/** *@paramargs */publicstaticvoidmain(String[]args)throwsIOException, ClassNotFoundException{try{ Mp3Playerp1=newMp3Player("MeizoX3(256MB)",399.0f); Mp3Playerp2=newMp3Player("MeizoE5(512MB)",580.0f); Mp3Playerp3=newMp3Player("XliveXMMp3Play(256MB)",930.0f); Mobilem1=newMobile("E365onChinaMobile",1780.0f); Mobilem2=newMobile("E3330onChinaMobile",1450.0f); ObjectOutputStreamoos=newObjectOutputStream(newFileOutputStream("d:\\product.txt")); oos.writeObject(p1); oos.writeObject(p2); oos.writeObject(p3); oos.writeObject(m1); oos.writeObject(m2); oos.close(); ObjectInputStreamois=newObjectInputStream(newFileInputStream("d:\\product.txt"));while((ois.readObject())!=null){ System.out.println

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論