PrintStream和PrintWriter的区别简介

网友投稿 267 2023-02-28


PrintStream和PrintWriter的区别简介

PrintStream和PrintWriter的API几乎相同,都能输出各种形式的数据,构造方法也几乎相同

PrintWriter多了个接受Writer参数

API比较:

那么,它们的区别究竟在哪里?来自stackflow

主要意思就是,2个类的功能基本相同,PrintStream能做的PrintWriter也都能实现,并且PrintWriter的功能更为强大。但是由于PrintWriter出现的比较晚,较早的System.out使用的是PrintStream来实现的,所以为了兼容就没有废弃PrintStream。

下面这个程式显示了PrintStream与PrintWriter两个物件在处理相同输出目的时的作法,程式将会在荧幕上显示 "简体中文" 四个字元:

StreamWriterDemo.java

package onlyfun.caterpillar;

import java.io.*;

public class StreamWriterDemo

{

public static void main(String[] args)  {

try  {

byte[] sim = {(byte)0xbc, (byte)0xf2, // 简

(byte)0xcc, (byte)0xe5, // 体

(byte)0xd6, (byte)0xd0, // 中

(byte)0xce, (byte)0xc4

}

;

// 文

InputStreamReader inputStreamReader = new InputStreamReader(new ByteArrayInputStream(sim), "GB2312");

PrintWriter printWriter =new PrintWriter(new OutputStreamWriter(System.out, "GB2312"));

PrintStream printStream =new PrintStream(System.out, true, "GB2312");

int in;

while((in = inputStreamReader.read()) != -1)  {

printWriter.println((char)in);

printStream.println((char)in);

}

inputStreamReader.close();

printWriter.close();

printStream.close();

}

catch(ArrayIndexOutOfBoundsException e)  {

e.printStackTrace();

}

catch(IOException e) {

e.printStackTrace();

}

}

}

总结

以上就是本文关于PrintStream和PrintWriter的区别简介的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:IO中flush()函数的使用代码示例
下一篇:详解Eclipse安装SVN插件的两种方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~