老师,请看一下,有什么地方可以优化的吗?
package com.imooc.charstream;
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 StreamTest {
public void transWriteByBuf(){
try {
FileOutputStream fos=new FileOutputStream("hello.txt");
OutputStreamWriter osw=new OutputStreamWriter(fos);
BufferedWriter bfw=new BufferedWriter(osw);
String str="你好吗?\r\n我很好!";
bfw.write(str);
bfw.flush();
fos.close();
osw.close();
bfw.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void transReadByBuf(){
try {
FileInputStream fis=new FileInputStream("hello.txt");
InputStreamReader isr=new InputStreamReader(fis);
BufferedReader bfr=new BufferedReader(isr);
//以下两种方法都可以
// while(bfr.ready()) {
// System.out.println(bfr.readLine());
// }
String str;
while((str=bfr.readLine())!=null) {
System.out.println(str);
}
fis.close();
isr.close();
bfr.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
StreamTest st=new StreamTest();
st.transWriteByBuf();
st.transReadByBuf();
}
}1
收起
正在回答
2回答
同学可以把FileInputStream这些初始化赋值定义在try外面,这样他的作用范围就是在整个方法里了!也就可以在finally里使用。例如
FileInputStream fis=null;
try{
fis=new FileInputStream("hello.txt");
}catch (IOException e) {
e.printStackTrace();
}finally{
fis.close();
}
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星