问题描述
- JAVA缓冲字符流在实例化传入的必须是字符流吗?
-
缓冲字符流在实例化传入的必须是字符流吗?可以传入 InputStream或OutputStream吗?
今天看代码遇到了这样的写法,不知道这种写法对不对,求告知原因!OutputStream os=new FileOutputStream("pw.txt",true);
PrintWriter pw = new PrintWriter(os,true);
解决方案
首先你得捕获异常,应该这样
OutputStream os = null;
try {
os = new FileOutputStream("pw.txt", true);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
PrintWriter pw = new PrintWriter(os, true);
这代码师妹问题的,字符缓冲流是可以传入字节流的,具体的PrintWriter这个类会按照你传的os转换成bytes,如果传的就是字节流就不要转换了,相应你传的如果是字符流就转换,这一切都是PrintWriter这个类帮我们处理好了。
解决方案二:
不一定啊,字节流也可以啊,如BufferedOutputStream bufos = new BufferedOutputStream(new FileOutputStream("111.text"));你这种写法我没用过。
时间: 2024-09-15 11:10:18