一、何时使用字符流,何时使用字节流?依据是什么?
- 使用字符流的应用场景:如果是读写字符数据时候,使用字符流。
- 使用字节流的应用场景:如果读写的数据都不需要转化成字符的时候,使用字节流。
二、使用字符流拷贝图片的问题
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(); } }
问题:拷贝的图片比原来小,丢失了一些字节,图片已经损坏,为什么?
结论:如果拷贝图片,使用字节流。
时间: 2024-10-23 04:14:04