怎么用字节流可以复制文件面字符流不行呢?

时间:2022-08-18 21:01:27
//利用字节流来复制文件
FileInputStream fileI=new FileInputStream("D://0.jpg");
BufferedInputStream buf=new BufferedInputStream(fileI);
FileOutputStream fo=new FileOutputStream("D://bb.jpg");
BufferedOutputStream BO=new BufferedOutputStream(fo);
int read=buf.read();
while(read!=-1){
BO.write(read);
read=buf.read();
}
buf.close();
BO.close();
}
//利用字符流来复制文件
FileReader reads=new FileReader("D://0.jpg");
BufferedReader br=new BufferedReader(reads);

FileWriter fw=new FileWriter("D://fw.jpg");
BufferedWriter bw=new BufferedWriter(fw);
int r=reads.read();
while(r!=-1){
fw.write(r);
r=reads.read();
}
reads.close();
bw.close();

5 个解决方案

#1


因为.jpg !

#2


现在应该使用 FileChannel 的 transferTo/transferFrom 方法复制文件。

#3


所有文件在硬盘或是在传输的时候都是以字节的方式进行的,包括图片都是按字节的形式存储的,而字符只是在内存中才会形成。

#4


二进制文件是不能用字符流来操作的

#5


改用BuffereImage

#1


因为.jpg !

#2


现在应该使用 FileChannel 的 transferTo/transferFrom 方法复制文件。

#3


所有文件在硬盘或是在传输的时候都是以字节的方式进行的,包括图片都是按字节的形式存储的,而字符只是在内存中才会形成。

#4


二进制文件是不能用字符流来操作的

#5


改用BuffereImage