打卡打卡-流关闭的顺序对吗?

来源:4-7 自由编程

晓舟

2021-07-09 09:56:10

package com.imooc.stream.transwritebybuf;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Test {
public void transWriteByBuf() {
FileInputStream fis=null;
try {
fis = new FileInputStream("hello.txt");
InputStreamReader isr=new InputStreamReader(fis);
           BufferedReader br=new BufferedReader(isr);
           char[] cbuf=new char[10];
           int n=0;
           while((n=br.read(cbuf))!=-1) {
                System.out.print(new String(cbuf,0,n));
           }
           br.close();       
       isr.close();
  fis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
public void transReadByBuf() {
FileOutputStream fos=null;
try {
    fos=new FileOutputStream("hello.txt");
    OutputStreamWriter osw=new OutputStreamWriter(fos);
BufferedWriter bw=new BufferedWriter(osw);
    bw.write("你好吗?  \n");
    bw.write("我很好!");
    bw.close();
    osw.close();
    fos.close();
    } catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Test test=new Test();
test.transWriteByBuf();
test.transReadByBuf();
}
}


写回答

1回答

好帮手慕小尤

2021-07-09

同学你好,1、同学关闭流的顺序是正确的,先定义的后关闭,后定义的先关闭。

2、已完成练习,继续加油!不过有两个小建议,建议同学先写入在读取。并方法名应该见名知意,所以建议同学在transReadByBuf()方法中进行读取,然后在transWriteByBuf进行写入操作。

祝学习愉快!

0

0 学习 · 16556 问题

查看课程