码迷,mamicode.com
首页 > 编程语言 > 详细

java 文件拷贝

时间:2019-07-05 09:39:45      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:输出流   reader   copy   put   无法读取   输出   strong   jpg   构建   

需求:源和目标!

那么我们需要源文件和目标文件!

构建管道的时候就需要两个:输出流和输入流管道!

 

Eg:

package july7file;

 

//java7开始的自动关闭资源

 

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

 

public class Demo8 {

    public static void main(String[] args) throws IOException {

 

        File src = new File("E:/自荐信.doc");

        File tar = new File("E:/自荐信1.doc");

 

        copy(src, tar);

        System.out.println("Well done !");

    }

 

    public static void copy(File src, File tar) throws IOException {

        try (InputStream is = new FileInputStream(src);

                OutputStream os = new FileOutputStream(tar);) {

            byte[] b = new byte[1024];

            int len;

            while ((len = is.read(b)) != -1) {

                os.write(b);

            }

 

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

}

 

题目:复制图片!

package july7file;

/**

 * 文件的复制!对于本题而言,因为是图片,所以要想读出来,必须使用字节流!

 * 字符流必须关闭资源,而字节流可以不关闭资源!但是还是建议全部的关闭,因为也不会出错,这是关闭资源的习惯!

 * 另外:最常用的是字节流,因为字节流在内存中不需要缓冲区,图片,mp3等都是字节流!但是对于文字的话还是字符流比较好;

 * 因为字符流可以避免在字节流操作文字时出现的乱码现象(正好读取到了自定义缓冲区的分割处);

 */

 

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.OutputStream;

 

 

public class Demo7 {

    public static void main(String[] args) throws Exception {

        File src = new File("D:/java.jpg");

       

        File tar = new File("D:/meinv.jpg");

       

        copy(src,tar);

        System.out.println("复制完成!");

    }

    public static void copy(File src,File tar) throws Exception{

/*      Reader r = new FileReader(src);

        Writer w = new FileWriter(tar);*/

        /*if(!src.exists()){

            throw new Exception("对不起,源文件不存在!");

        }*/

        InputStream in = new FileInputStream(src);

        OutputStream os = new FileOutputStream(tar);

       

        byte []c = new byte[1024];

        int len;

        while((len = in.read(c)) != -1){

            os.write(c);

        }

       

    /*  w.close();

        r.close();*/

    }

}

 

我的总结:对于图片的复制,可以使用字符流,但是这样的话文件可以复制成功但是无法读取!

java 文件拷贝

标签:输出流   reader   copy   put   无法读取   输出   strong   jpg   构建   

原文地址:https://www.cnblogs.com/fanweisheng/p/11136217.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!