java第九次做業

2、做業要求

(一)學習總結

1.用思惟導圖對javaIO操做的學習內容進行總結。

2.下面的程序實現了文件的拷貝,但採用的是一個字節一個字節的讀寫方式,效率很低。使用緩衝區能夠減小對文件的操做次數,從而提升讀寫數據的效率。IO包中提供了兩個帶緩衝的字節流BufferedInputStream和BufferedOutputStream,查閱JDK幫助文檔,修改程序,利用這兩個類完成文件拷貝,對比執行效率。

import java.io.*;
public class Test{
public static void main(String args[]) {
        FileInputStream in=null;
        FileOutputStream out=null;
        File fSource=new File("d:"+File.separator+"my.jpg");
        File fDest=new File("d:"+File.separator+"java"+File.separator+"my.jpg");
        if(!fSource.exists()){ 
            System.out.println("源文件不存在");   
            System.exit(1);   
        }
        if(!fDest.getParentFile().exists()){   
            fDest.getParentFile().mkdirs();     
        }
        try {   
            in=new FileInputStream(fSource);
            out=new FileOutputStream(fDest);
            int len=0;
            long begintime = System.currentTimeMillis();
            while((len=in.read())!=-1){
                out.write(len);          
            } 
            long endtime = System.currentTimeMillis();
            System.out.println("文件拷貝完成,耗時"
                        +(endtime-begintime)+"毫秒");
        }catch(Exception e){
            System.out.println("文件操做失敗");  
        }finally{       
            try {   
                in.close();   
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }      
        }     
    }
}

public BufferedInputStream(InputStream in)建立一個 BufferedInputStream 並保存其參數,即輸入流 in,以便未來使用。建立一個內部緩衝區數組並將其存儲在 buf 中。java

參數:
in - 底層輸入流。
數據庫

使用BufferedInputStream和BufferedOutputStream類編寫程序:數組

public class Test{
    public static void main(String args[]) {
        FileInputStream in=null;
        FileOutputStream out=null;
        File fSource=new File("d:"+File.separator+"my.jpg");
        File fDest=new File("d:"+File.separator+"java"+File.separator+"my.jpg");
        if(!fSource.exists()){ 
            System.out.println("源文件不存在");   
            System.exit(1);   
        }
        if(!fDest.getParentFile().exists()){   
            fDest.getParentFile().mkdirs();     
        }
        try {   
            in=new FileInputStream(fSource);
            out=new FileOutputStream(fDest);
            byte[] buff=new byte[1024];
            int len=0;
            long begintime = System.currentTimeMillis();
            while((len=in.read(buff))!=-1){
                          out.write(buff,0,len);          
            }
            long endtime = System.currentTimeMillis();
            System.out.println("文件拷貝完成,耗時"
                            +(endtime-begintime)+"毫秒");
        }catch(Exception e){
            System.out.println("文件操做失敗");  
        }finally{       
            try {   
                in.close();   
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }      
        }     
    }
}

建立一個新的緩衝輸出流,以將數據寫入指定的底層輸出流。
參數:
out - 底層輸出流。工具

3.其餘須要總結的內容。

System類對IO的支持:System類是一個強大,特殊的類,它提供了標準輸入輸出、運行時的系統信息等重要工具。System類中定義了三個常量:public static PrintStream err;public static InputStream in;public static PrintStream out;
思惟導圖很好的幫助我整理清楚學習的思路,明確學習的內容。學習

(二)實驗總結

實驗內容:

1.寵物商店:在實驗八的基礎上,增長一個功能,用文件保存每日的交易信息記錄。
2.完成文件複製操做,在程序運行後,提示輸入源文件路徑和目標文件路徑。測試

完成實驗內容,代碼上傳到碼雲,注意,寵物商店要求務必將建立數據庫的腳本文件隨項目文件一塊兒上傳,在隨筆中分析程序設計思路,用PowerDesigner畫出類圖結構,並對完成實驗內容過程當中遇到的問題、解決方案和思考等進行概括總結,注意代碼中必須有必要的註釋。
格式以下:
程序設計思路:新建一個SellPetItem類,存儲用戶購買信息。新建一個FileUtils類將用戶購買信息存儲到本地文件中,若是存在文件採用修改文件的方式,若是不存在文件採用新建文件的方式。建立項目運行類,定義MainApp方法,進行測試。定義copy類,複製並保存每日的交易信息記錄的文件。設計

(三)代碼託管

相關文章
相關標籤/搜索