麻烦老师帮看下代码,报错了,找不到原因
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
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 HelloTest1 {
public void transWriteByBuf() {
try {
FileOutputStream fos = new FileOutputStream("Test2.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(osw);
bw.write("你好吗?");
bw.write("\n");
bw.write("我很好!");
fos.close();
osw.close();
bw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void transReadByBuf() {
try {
FileInputStream fis = new FileInputStream("Test2.txt");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String str;
while ((str = br.readLine()) != null) {
System.out.println(str);
}
fis.close();
isr.close();
br.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) {
HelloTest1 ht1 = new HelloTest1();
ht1.transWriteByBuf();
ht1.transReadByBuf();
}
}
正在回答
报错信息为流的close异常,关于流的关闭操作应该是先创建的后close。所以建议文件的读写操作写在一个方法中,然后按照流的关闭操作进行close。另外在将字符串写入文件后,调用bw.flush()清空缓存区,这样可以将文件中的内容重新读取到缓存区并在控制台输出。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星