復制圖片
字節(jié)流可以操作所有類型的文件,因為所有的文件在計算機中都是以字節(jié)形式存儲
而字符流只能用來操作純文本類型的文件,不能操作字節(jié)類型的文件
package com.itheima_02;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*
* 分別使用字符流和字節(jié)流復制圖片
*
* 二進制文件只能使用字節(jié)流進行復制(使用windows自帶記事本打開讀不懂的)
* 文本文件的復制既可以使用字符流马绝,也可以使用字節(jié)流
*/
public class CopyImage {
public static void main(String[] args) throws IOException {
// method();
//創(chuàng)建字節(jié)輸入流對象
FileInputStream fis = new FileInputStream("1.png");
//創(chuàng)建字節(jié)輸出流對象
FileOutputStream fos = new FileOutputStream("d:\\\\1.png");
//一次讀寫一個字節(jié)數組
int len;//用于存儲讀到的字節(jié)個數
byte[] bys = new byte[1024];
while((len = fis.read(bys)) != -1) {
fos.write(bys,0,len);
fos.flush();
}
//釋放資源
fis.close();
fos.close();
}
//使用字符流圖片根本就顯示不出來鳍鸵,是一片漆黑
private static void method() throws FileNotFoundException, IOException {
//創(chuàng)建字符輸入流對象
FileReader fr = new FileReader("1.png");
//創(chuàng)建字符輸出流對象
FileWriter fw = new FileWriter("d:\\1.png");
//一次讀寫一個字符數組
int len;//用于存儲讀到的字符個數
char[] chs = new char[1024];
while((len = fr.read(chs)) != -1) {
fw.write(chs,0,len);
fw.flush();
}
//釋放資源
fw.close();
fr.close();
}
}