13 用IO流复制文件

package com.bowen.dong;

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

public class FileCopy {
    public  static void main(String[] args) throws IOException{
          FileInputStream fis =null;
          FileOutputStream fos=null;
        try {
            //创建文件输入流
            fis=new FileInputStream("C:\\Users\\bw\\Desktop\\新建 DOC 文档.doc");
            //创建文件输出流
            fos=new FileOutputStream("C:\\Users\\bw\\Desktop\\文档1.doc");
            //1T=1024G  1G=1024M  1M=1024KB  1kb=1024bytes
            byte[] bytes=new byte[1024];
            System.out.println("真在准备复制文件...");
            //声明临时变量
            int temp = 0;
            //读写完成返回-1.没有数据了。文件到达末尾,结束循环。这是API规定的
            while((temp=fis.read(bytes))!=-1) {//一边读一边写
                //将byte数组中的内容直接写入对应的栏目中,就实现了文件的粘贴功能
                fos.write(bytes,0,temp);//代表字节,开始数据,和临时变量
            }
             System.out.println("恭喜你,复制成功!");
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            //刷新输出流,点不了是因为是局部变量
            fos.flush();//刷新的是内存
            //关闭输入输出流
            fis.close();
            fos.close();
        }

这个程序涉及到IO流,很重要,要记下来。
1 构造FileInputStream 和FileOutputStream 对象,初始值为null
2 并且写好文件位置,注意文件位置的写法
3 创建字节素组
4 fis输入流的read(bytes) 方法,以及fos输出流的write方法
5 fos的flush()刷新的是内存,关闭输入流,关闭输出流

猜你喜欢

转载自www.cnblogs.com/sunnybowen/p/9853621.html