美文网首页
初学Java,利用IO流写一个简易的文件拷贝代码

初学Java,利用IO流写一个简易的文件拷贝代码

作者: 石头时代zy | 来源:发表于2020-04-18 04:58 被阅读0次

    重点:
    1、这里需要用到两个流FileInputStream和FileOutputStream都属于字节流,两个流关闭时不要同时try,要分开try。
    2、输出流使用FileOutputStream(String name, boolean append)这种构造方法,不会将原创建的文件覆盖。设置每次拷贝大小。
    3、输出流的最后要刷新,才能保证管道清空,使用flush()方法。

    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class Test{
        public static void main(String[] args) {
            //声明两个流,赋null
            FileInputStream fis = null;
            FileOutputStream fos = null;
            try {
                //创建输出流对象,末端继续添加方式true
                fos = new FileOutputStream("输出路径及文件名",true);
                //创建输入流对象
                fis = new FileInputStream("需要拷贝的文件路径");
                //每次拷贝1MB字节
                byte[] bytes = new byte[1024 * 1024];
                int readCount = 0;
                //要采取write(byte b[], int off, int len)的方式写,不然会多拷贝
                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,要分开try
                if (fos != null) {
                    try {
                        fos.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if (fis != null) {
                    try {
                        fis.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
    
        }
    }
    

    相关文章

      网友评论

          本文标题:初学Java,利用IO流写一个简易的文件拷贝代码

          本文链接:https://www.haomeiwen.com/subject/oomrvhtx.html