IO流文件复制

用IO流实现文件复制

  • 使用FileInputStream+FileOutputStream完成文件的拷贝
  • 拷贝的过程是一边读一边写
  • 使用以上的字节流拷贝文件的时候,文件的格式不限

    还是以文件夹中的文件为例,我想把一个test文件,拷贝到一个testcoopy文件中去,怎么去实现操作

代码示例:

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

public class CopyTest01 {
    public static void main(String[] args) {
        FileInputStream fis=null;
        FileOutputStream fos=null;
        try {
            //创建一个输入流对象
            fis = new FileInputStream("D://JAVATest/test");
            //创建一个输出流对象
            fos = new 
                //当文件夹中没有文件的时候,会根据路径创建一个文件
                FileOutputStream("D://JAVATest//testcopy");
            byte[] bytes = new byte[1024 * 1024];
            //创建一个1MB的byte数组,一次最多拷贝1MB
            int readCount=0;
            while ((readCount= fis.read(bytes))!=-1){
                fos.write(bytes,0,readCount);
            }
            //输出流运行完要刷新
            fos.flush();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //关闭流的异常要分开处理
            //一起try的时候,一个出现异常,可能会影响另一个流的关闭
            if (fis == null) {
                try {
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (fos == null) {
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

输出:

posted @ 2022-07-22 16:44  星余明  阅读(78)  评论(0编辑  收藏  举报