之前所介绍过的OutputStream对象,都是直接将内存中的数据原封不变地写至目的地(例如一个文件)。比如如果将int类型的1使用之前介绍的OutputStream对象输出值文件,则文件中所存储的是int类型1在内存中的值。
例如:
File.write(1);
最后在文本文件不会显示1,而可能看到的是一个乱码。用UltraEdit打开会看到是一个16进制的表示方式。
这样问题就来了,很多情况我们是需要把数据写入文件后可以直接用文本文件来阅读的,这时,PrintStream就可以做到这一点了。
PrintStream可以自动进行字符转换的动作,可以将基本数据类型的数据格式化成字符串输出,默认会使用操作系统的编码来处理对应的字符转换动作。当然你也可以使用PrintStream(OutputStream out, boolean autoFlush, String encoding)这个构造函数来制定你需要的编码。
与之对应的,还有一个PrintWriter类,跟PrintStream作用一样,但是PrintWriter可以接受一个Writer对象。
版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。