Java中的PrintWriter write()vs print()方法

Java中PrintWriter类中的write()print()方法有什么区别?

print()格式化输出,而write()只打印给定的字符。 print()处理许多参数类型,使用String.valueOf()将它们转换为可打印的字符串,而write()只处理单个字符,字符数组和字符串。

为了说明差异,write(int)将参数解释为要打印的单个字符,而print(int)将整数转换为字符串。 write(49)打印“1”,而print(49)打印“49”。

来源: http : //www.coderanch.com/t/398792/java/java/write-print

print()格式化输出,而write()只打印给定的字符。 print()处理许多参数类型

根据coderanch和这一个

当您需要打印字符时,应该使用write(),而当您需要格式化字符输出时,支持使用print()。

write(int)写入单个字符(因此采用传递的int的Unicode字符)。

另一方面, print(datatype)通过首先调用String.valueOf(int)String.valueOf(char)将数据类型( intchar等)转换为String,根据平台的默认字符编码将其转换为字节,这些字节的写入方式与write(int)方法完全相同。

有关更多详细信息,请参阅PrintWriter的文档 。

 public void write(String s) 

写一个字符串。 此方法不能从Writer类inheritance,因为它必须禁止I / O exceptions.supports只有int和String作为参数

print方法具有更高的抽象级别。

 public void print(String s) 

打印一个字符串。 如果参数为null,则打印字符串“null”。 否则,字符串的字符将根据平台的默认字符编码转换为字节,并且这些字节的写入方式与write(int)方法完全相同。支持所有原始数据类型

检查一下