天天看點

JavaIO流入門2(實作資源的拷貝)

前言:

👏作者簡介:我是笑霸final,一名熱愛技術的在校學生。

📝個人首頁:​笑霸final的首頁​ 📕系列專欄::本文寫在java專欄 📧如果文章知識點有錯誤的地方,請指正!和大家一起學習,一起進步👀

🔥如果感覺部落客的文章還不錯的話,👍點贊👍 + 👀關注👀 + 🤏收藏🤏

JavaIO流入門2

  • ​​上節内容​​
  • ​​IO流的分類​​
  • ​​利用io流完成對檔案的拷貝​​

上節内容

JavaIO流入門1檔案File連結

IO流的分類

資料機關分類:位元組流 、字元流

流向分類:輸出流、輸入流

角色不同:節點流、處理流/包裝流

根據資料機關分類

JavaIO流入門2(實作資源的拷貝)

1.位元組流分類

位元組流用來處理二進制檔案最好

位元組輸入流​

​InputStream​

​​ 位元組輸出流 ​

​OutputStream​

JavaIO流入門2(實作資源的拷貝)
JavaIO流入門2(實作資源的拷貝)
JavaIO流入門2(實作資源的拷貝)
JavaIO流入門2(實作資源的拷貝)

1.字元流流分類

字元流處理文本檔案

字元輸入流​

​Reader​

​​ 字元輸入流: ​

​Writer​

JavaIO流入門2(實作資源的拷貝)
JavaIO流入門2(實作資源的拷貝)
JavaIO流入門2(實作資源的拷貝)
JavaIO流入門2(實作資源的拷貝)

​可見這4個也都抽象類,也就是說不能直接建立對象的​

利用io流完成對檔案的拷貝

要求:

在f盤中,把圖篇01.png’拷貝到C槽目錄

拷貝前:

JavaIO流入門2(實作資源的拷貝)

代碼

package com.final_.copy_;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @autor 笑霸fianl~
 * 歡迎通路GitHub:https://github.com/XBfinal
 * 歡迎通路Gitee:https://gitee.com/XBfianl
 */
public class copy_ {
    public static void main(String[] args) {
        String filepath="F:\\01.png";//目标檔案位置
        //建立輸入流
        FileInputStream fileInputStream=null;
        //建立檔案輸出流
        FileOutputStream fileOutputStream=null;

        try {
            fileInputStream=new FileInputStream(filepath);
            fileOutputStream=new FileOutputStream("c:\\01.png");//目标位址
            byte[] by=new byte[1024];//經典1024;
            int i=0;
            while((i=fileInputStream.read(by))!=-1){
                fileOutputStream.write(by,0,i);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                fileInputStream.close();
                fileOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }

    }
}