/*把一个字节文件(如一张图片)的数据存储到另一个字节文件中去,存储文件
分析:源:InputStream ,Reader
是否是文本文档
不是,使用InputStream
源设备:硬盘上的文件用 FileInputStream来操作,为了使用readLine()方法,把字节流文件转换为
字符流文件,需要用到InputStreamReader转换流
那么,是否需要提高效率,需要就用BufferedReader来包装
目的地:OutputStream,Writer
是否是纯文本文档呢,不是,使用OutputStream
目的设备:硬盘上的文档 用FileOutputStream,由于需要把字符流转换为字节流,需要用到OutputStreamWriter
那么,是否需要提高效率,需要,就用BufferedWriter来包装*/
import java.io.*;
class TransStreamTest {
public static void main(String[] args) throws IOException{
BufferedReader bufr=new BufferedReader(new InputStreamReader(new FileInputStream("Sunny1.jpg")));
BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("Sunny1_copy.jpg")));
String line=null;
while((line=bufr.readLine())!=null){
bufw.write(line);
bufw.newLine();
bufw.flush();
}
bufw.close();
bufr.close();
}
}
但是得得结果是,照片复制出来了,没有预览,源文件是18.7KB,复制的文件是17.2KB,请问字节流文件转换为字符流,文件是否损失
|