打卡打卡-流关闭的顺序对吗?
来源: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回答
同学你好,1、同学关闭流的顺序是正确的,先定义的后关闭,后定义的先关闭。
2、已完成练习,继续加油!不过有两个小建议,建议同学先写入在读取。并方法名应该见名知意,所以建议同学在transReadByBuf()方法中进行读取,然后在transWriteByBuf进行写入操作。
祝学习愉快!
相似问题