Java中IO流學習總結

SecondDream_1017發表於2018-08-13

轉載:https://blog.csdn.net/Yue_Chen/article/details/72772445

 

二.IO流的具體使用

  • 從各種輸入流到各種輸出流 
    注:其實在各個不同的型別中,輸入流到輸出流的套路基本都一樣。 
    那就拿最簡單的FileOutputStream來舉例子吧 
    從FileOutputStream到FileIntputStream其實就是複製一個檔案的過程,將檔案讀取到FileIntputStream中,後輸出到FileOutputStream也就是相當於輸出到了硬碟的檔案中。 
    我們可以以兩個桶為例,一個桶為FileIntputStream,另一個桶為FileOutputStream,如果要把一個桶裡的水轉移到另一個桶中,我們首先需要一個水瓢,一次次的舀水才能完成我們的需求。 
    廢話不多說,直接上程式碼:
public static void main(String[] args) throws IOException {
        File fil1 = new File("D:/111.pdf");
        File fil2 = new File("D:/222.pdf");
        try (FileInputStream fi = new FileInputStream(fil1); 
        //一個叫輸入流的桶,裝滿了一桶叫做D:/111.pdf檔案的水
        FileOutputStream fs = new FileOutputStream(fil2);
        //一個叫輸出流的空桶,但想裝滿叫做"D:/222.pdf"檔案的水
                ) {
            byte[] buf = new byte[521];
            //叫做buf的水瓢
            int len = -1;
            //用來測量每次水瓢裝了多少水
            while((len = fi.read(buf)) != -1){
            //一次次的用水瓢在輸入流的桶裡舀水,並用len測了舀了多少水,當len等於-1意味著水舀光了,該結束舀水了。
                fs.write(buf, 0, len);
                //一次次把水瓢裡的水放到了輸出流的桶裡
            }
            fs.flush();
        } catch (Exception e) {
        }
    }