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(); }}