二进制文件只能使用字节流进行复制(使用windows自带记事本打开读不懂的
比如音频、视频、图片等)
文本文件的复制既可以使用字符流也可以使用字节流
即字节流可以复制任何形式的文件,而字符流只能复制文本文件
/*
* 分别使用字符流和字节流复制图片,结果表明
* 通过字符流复制的图片无法打开,而字节流复制的可以
*/
public class CopyImage {
public static void main(String[] args) throws IOException{
//method();
//创建字节输入流对象
FileInputStream fis = new FileInputStream("test.jpg");
//创建字节输出流对象
FileOutputStream fos = new FileOutputStream("d:\\test.jpg");
int len;
byte[] bys = new byte[1024];
while((len=fis.read(bys)) != -1){
fos.write(bys,0,len);
}
//释放资源
fos.close();
}
private static void method() throws FileNotFoundException, IOException {
//创建字符输入流对象
FileReader fr = new FileReader("test.jpg");
//创建字符输出流对象
FileWriter fw = new FileWriter("d:\\test.jpg");
int len;
char[] chs = new char[1024];
while((len=fr.read(chs)) != -1){
fw.write(chs,0,len);
fw.flush();
}
//释放资源
fw.close();
}
}