Java out.write()和out.print()之间的确切区别是什么
在我的servlet中,我同时给出了Java out.write()和out.print()之间的确切区别是什么,java,servlets,printwriter,Java,Servlets,Printwriter,在我的servlet中,我同时给出了out.print和out.write。但这两个都在浏览器中打印 这两者之间的确切区别是什么,以及何时使用out.print和out.write?: 公共无效写入(字符串s) 写一个字符串。无法从Writer类继承此方法 因为它必须抑制I/O异常 打印方法具有更高的抽象级别。 公共作废打印(字符串s) 打印字符串。如果参数为null,则字符串“null”为空 印刷的。否则,字符串的字符将转换为字节 根据平台的默认字符编码 字节的写入方式与write(int)方
out.print
和out.write
。但这两个都在浏览器中打印
这两者之间的确切区别是什么,以及何时使用out.print
和out.write
?:
公共无效写入(字符串s)
写一个字符串。无法从Writer类继承此方法
因为它必须抑制I/O异常
打印方法具有更高的抽象级别。
公共作废打印(字符串s)
打印字符串。如果参数为null,则字符串“null”为空
印刷的。否则,字符串的字符将转换为字节
根据平台的默认字符编码
字节的写入方式与write(int)方法完全相同
希望这能有所帮助。您案例中的out变量很可能是指PrintWriter 只需比较一下对write的描述
public void write(字符串s)
写一个字符串。无法从Writer类继承此方法,因为它必须抑制I/O异常
。。。用println的描述
public void println(字符串x)
打印一个字符串,然后终止该行。此方法的行为就像调用print(String)然后调用println()
。。。并打印
公共作废打印(字符串s)
打印字符串。如果参数为null,则打印字符串“null”。否则,字符串的字符将根据平台的默认字符编码转换为字节,并且这些字节完全按照write(int)方法的方式写入
总而言之,我要说的是,print方法在更高的抽象级别上工作,并且是我在编写servlet时更喜欢使用的方法。基本的区别是,
out.write()
如果传递一个null,它将爆炸:
String s = null;
out.print(s); // outputs the text "null"
out.write(s); // NullPointerException
输出写入(-)与输出打印(-)
又差了一个。写(-)
方法将数据或对象像文件一样写入浏览器。你不能写任何像out这样的语句。写(10*20)但是我们使用输出打印(10*20)来实现这一点write()方法只将字符写入流(或控制台),但不打印,而print()方法在流(或控制台)上写入并打印字符
第一条语句在控制台上写入字符97,即“a”,但不打印,而第二条语句打印已在流中写入的“a”和在print()方法中传递的“j”。PrintWriter的实现比javadoc更好地传达了这一差异
public void print(String s) {
if (s == null) {
s = "null";
}
write(s);
}
有三个主要区别: 1) 如果您试图打印带有out.write()的字符串的空值,它将抛出NullPointerException,而out.print()只将null打印为字符串
String name = null;
out.write(name); // NullPointerException
out.print(name); // 'Null' as text will be printed
2) out.print()可以打印布尔值,但out.write()不能
boolean b = true;
out.write(b); // Compilation error
out.print(b); // 'true' will be printed
3) 如果您使用的是out.write(),则无法放置算术运算代码,但out.print()提供了支持
out.write(10+20); // No output will be displayed.
out.print(10+20); // Output '30' will be displayed.
我只知道是这样的:
out.println()
是javax的方法。servlet。jsp。JspWriter
out.write()
是java.io.Writer
的方法。首先,您不能使用javax。servlet。jsp。JspWriter在servlet中输出
。它必须在.jsp
文件中使用,因为out
是您的.jsp
文件的\jspService(…)
方法中的方法局部变量
使用out.print()
和out.write()
的目的没有区别两者都用于将给定对象的字符串
版本写入JspWriter的缓冲区。
但是,JspWriter.print()
能够接受比Writer.write()
更多类型的参数
JspWriter.print()
- 反对
- 串
- 布尔值
- 煤焦
- 字符[]
- 双重的
- 浮动
- int
- 长的
Writer.write()
- 串
- 煤焦
- int
类型是什么?文档怎么说?那么写入的数据去哪里了?它一直保留在流中,直到流不刷新,刷新后流数据将在控制台上打印。print()方法刷新以前的数据并打印传入其中的数据。
out.write(10+20); // No output will be displayed.
out.print(10+20); // Output '30' will be displayed.