本例子是实现 FileInputStream 字符流读文件 ==> FileWriter 字节流写文件
public static void transReadByBuf() throws IOException {
//读取字节流
InputStream in = new FileInputStream("C:/Users/linlo/Pictures/Camera Roll/timg (1).jpg");//读取文件上的数据。
//将字节流向字符流的转换。
InputStreamReader isr = new InputStreamReader(in);//读取
//创建字符流缓冲区 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的
BufferedReader bufr = new BufferedReader(isr);
//高效读取。 可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值足够大。类似于BufferInputStream
//只是两者缓冲的对象不一样。
String line;
String str="";
while((line = bufr.readLine())!=null){
str = str + line;
}
Writer writer = new FileWriter("C:/Users/linlo/Pictures/Camera Roll/timg (5).jpg", true);
// 2.写入信息
writer.write(str);
// 3.刷新缓冲区,即写入内容
writer.flush();
// 判断:若对象writer为空,则不会进行下一步操作,若不是空,则关闭流
if(isr !=null) isr.close();
if (writer != null) writer.close();// 5.关闭流,关闭缓冲流时,也会刷新一次缓冲区
}
public static void main(String[] args) throws IOException { //调用方法 transReadByBuf(); }