字符流和字节流的选择

一、何时使用字符流,何时使用字节流?依据是什么?

  1. 使用字符流的应用场景:如果是读写字符数据时候,使用字符流。
  2. 使用字节流的应用场景:如果读写的数据都不需要转化成字符的时候,使用字节流。

二、使用字符流拷贝图片的问题

public class copyImage {
    public static void main(String[] args) throws IOException {
        //找到目标文件
        File inFile=new File("E:\\1.jpg");
        File descFile=new File("E:\\2.jpg");
        //建立数据的输入输出管道
        FileReader fileReader=new FileReader(inFile);
        FileWriter fileWriter=new FileWriter(descFile);
        //建立缓冲字符数组进行边读边写
        char[] buf=new char[1024];
        int length=0;
        while((length=fileReader.read(buf))!=-1){
            fileWriter.write(buf, 0, length);
        }
        //关闭数据通道
        fileWriter.close();
        fileReader.close();
    }
}

问题:拷贝的图片比原来小,丢失了一些字节,图片已经损坏,为什么?

 

结论:如果拷贝图片,使用字节流。

 

posted @ 2015-11-28 13:51  好人难寻  阅读(633)  评论(0)    收藏  举报