- 这里的图片文件其实就是指代的非文本文件
- 就算我们只是是用字符流对图片文件进行复制也不可以
- 但是如果只是对文本文件的复制,这个时候不但可以使用字符流,并且还可以使用字节流进行操作
- 但是如果这个时候我们读取了文本文件之后还要进行中间的操作: 比如输出,这个时候我们就不能使用字节流进行操作
首先我们说明abc.png是一个图片,这个图片在我们的当前项目之下
eg: – 这里我们给出程序测试:
package IO流.FileWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Demo3 {
public static void main(String[] args) {
FileReader fr = null;
FileWriter fw = null;
File srcFile = new File("abc.png");
File destFile = new File("abc2.png");
try{
fr = new FileReader(srcFile);
fw = new FileWriter(destFile);
char[] chars = new char[5];
int len = 0;
while((len = fr.read(chars)) != -1){
//就是读入了多少个元素就向写出多少个元素,从数组中索引位置为0的位置开始
fw.write(chars,0,len);
}
}catch(IOException e ){
e.printStackTrace();
}finally{
if(fr != null){
try{
fr.close();
}catch(IOException e){
e.printStackTrace();
}
}
if(fw != null){
try{
fw.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
}
}
- 当我们执行完这个程序之后我们的当前项目之下就会出现一个文件"abc2.png",并且这个文件是打不开的,这个时候如果我们进入我们电脑中的文件管理中看abc.png文件和abc2.png文件,这个时候我们可以发现,我们的"abc2.png"文件要比"abc.png"文件大一倍


![字符流不能处理非文本文件的测试 [Java] 字符流不能处理非文本文件的测试 [Java]](http://www.mshxw.com/aiimages/31/685034.png)
