Java 关于PrintWriter,求高手解答

有这样一句话:publicclassPrintWriterextendsWriter向文本输出流打印对象的格式化表示形式。此类实现在PrintStream中的所有prin... 有这样一句话:
public class PrintWriter extends Writer向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。   
与 PrintStream 类不同,如果启用了自动刷新,则只有在调用 println、printf 或 format 的其中一个方法时才可能完成此操作,而不是每当正好输出换行符时才完成。这些方法使用平台自有的行分隔符概念,而不是换行符。
这2句话完全看不懂。
1.什么叫对象的格式化表示形式:?!!!
2.什么叫原始字节?!!
3.什么叫未编码的字节流?!!
4.什么叫启动了自动刷新?
5.什么叫平台自有的分隔符概念?
展开
 我来答
不落叶的柏树
2012-08-07 · TA获得超过612个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:194万
展开全部
1.所谓的格式化表现形式,指的是PrintWriter 中format(String format, Object... args)和format(Locale l, String format, Object... args) 的字符串格式化方法。详情请参见String.format()的用法。例如,可以将一个double型数据以保留两位小数,前面用0补齐10位这样的格式输出。

如:System.out.println(String.format("%1$,09d", -3123));输出为-0003,123。

2.所谓原始字节,就是byte值,电脑中的数据都是以字节(byte)存在的,一个byte有8位,展现出来就是 0x000000ff 类似这个样子。这个样子是没法直接向PrintWriter 输入的,只能以inputStream的形式输入。

3.这个问题就得和你普及下字节流和字符流的概念了,字节流刚才和你说过了,就是由许多的byte组成的流,它本身不包含任何文字编码。但是要在屏幕上打印出来,就必须编码才行了。比如我们常用的UTF-8编码,还有GBK编码和GB2312编码。编码错误,可是会出乱码的。

4.所谓的自动刷新(flush),就是PrintStream 类的流输入过程中,如果遇到换行符(/n)就会自动打印一行。或者自动向某个输出流输出数据。

5.平台自有的分隔符会根据操作系统和环境的改变而改变,你可以通过System.getProperty("line.separator")方法查询。在format中的替代符号是%n
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式