字符流拷贝图片,丢失数据的原因?

1、字节流可能会截断字符,此时就会乱码;而字符流不会。

2、

/**
 *数据丢失:
 * 读到的数据,在码表里找不到对应的数。则返回一个未知字符对应的数字,未知字符占一个字节。有对应数据,则返回原数据。
 *
 *何时使用字符流,字节流??
 *  读写字符数据的时候用字符流;图片等读写的数据不需要转换的时候使用字节流。
 */
public class CopyImage {
    public static void main(String[] args) throws IOException {
        File file1 = new File("E:\图片\5.jpg");
        File file2 = new File("E:\5.jpg");
        
        FileReader fileReader = new FileReader(file1);
        FileWriter fileWriter = new FileWriter(file2);
        
        char[] buf = new char[1024];
        int length=0;
        while ((length=fileReader.read(buf))!=-1) {
            fileWriter.write(new String(buf,0,length));
        }
        fileWriter.close();
        fileReader.close();
    }
}

 

原文地址:https://www.cnblogs.com/h-g-f-s123/p/6079213.html