用FileInputStream 与 FileWriter实现读和写

本例子是实现  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();
}
原文地址:https://www.cnblogs.com/gjq1126-web/p/12614914.html