`

out.print和out.write

    博客分类:
  • JSP
阅读更多
问题:

这是一个JSP页面:
<%@ page language="java" import="java.util.*"  %>
<%@ page pageEncoding="UTF-8" isELIgnored="false" %>
<%@ page import="java.util.Date" %>

<html>
  <head> 
    <title>  </title>
  </head>  
  <body>
 	<h1>现在时间:</h1>
 	<%=new Date() %>
  </body>
</html>

转译后生成的servlet,对应的body中,有以下代码:
out.write("<h1>现在时间:</h1>\n");
out.print( new Date());


思考:
<%=  %>表达式代表的是什么? 为什么 new Date()后,没有 “;”(分号)?
servlet中,out.write() 和 out.print() 有何区别?

解答:
There is a method print(Object). There is no method write(Object)
write(String) exists however.
serch the javaAPI you will find
------------------------------------------
(java中)有这个方法:print(Object),没有这个方法:write(Object)
但是却有这个方法:write(String)
查找javaAPI,你便会发现。

总结:
out.print()方法,可以输出一个java对象;
out.write()方法,只能输入一个字符串。


参考资料:
jsp中的out对象是JspWriter类型的.而JspWriter继承了java.io.Writer .

out.write() 是在在父类Writer中定义的
out.print() 是在子类JspWriter中定义的.

重写的 print 方法可以将各种类型的数据转换成字符串的形式输出.
而重载的 write 方法只能输出字符/字符数组/字符串等与字符相关的数据.

而且如果使用这两种方法输出值为null的字符串对象,
那么print方法输出的结果是"null",
而write方法则会抛出NullPoiterException异常.



-
转载请注明,
原文出处:http://lixh1986.iteye.com/blog/1757126








引用:
http://bbs.csdn.net/topics/300007142
http://wenwen.soso.com/z/q152174496.htm





--
分享到:
评论

相关推荐

    java中out.print和out.write的方法

    在Java编程语言中,`out.print()` 和 `out.write()` 是两种常见的用于向输出流写入数据的方法,尤其是在Servlet和JSP(JavaServer Pages)开发中。这两个方法都是`javax.servlet.jsp.JspWriter`接口的一部分,通常在...

    深入浅析Jsp中 out.print 和 out.write 的区别

    在JSP中,out对象提供了两个主要的方法:print()和write(),它们都可以用于将数据输出到客户端,但它们之间存在着一些本质的区别。 首先,从概念上来看,out对象的write方法是基于字节输出流的方法,而print方法则...

    桌面管家源码(java)

    System.out.print("create fail!"); } } public void Ccreateconnect(String ip) { try { socket=new Socket(ip,9999);//创建套接字 } catch(Exception e) { System.out.print("创立连接失败!"); } ...

    关于Ajax技术中servlet末尾的输出流

    Ajax的服务器端用PrintWriter out=resp.getWriter()来响应数据的时候,out.print(0)、out.print(1)来表示成功或失败,而不用out.write是有原因的,首先来看一下print和write两者的异同点。  共同点是:两者都不刷新...

    最新JAVA编程题全集_50题及答案

    System.out.print("a="+a+" b="+b); 折半查找 public class Test { public static int[] data = { 12, 15, 20, 10, 19, 3, 89, 32, 39, 47, 55 }; // 原始数据 public static int counter = 1; // 计数器 ...

    Java应用程序-习题-第9章.doc

    out.write(buffer, 0, bytesRead); } } catch (IOException e) { e.printStackTrace(); } finally { try { in.close(); out.close(); } catch (IOException e) { e.printStackTrace(); } } } } ``` 3. ...

    Lerner -- Python Workout. 50 Essential Exercises -- 2020.pdf

    ### Python Workout: 50 Essential Exercises (2020) #### Overview The "Python Workout: 50 Essential Exercises" is a comprehensive guide designed to help beginners and intermediate Python programmers ...

    Java基础笔记经典程序

    外层循环控制行数,内层循环控制列数,通过`System.out.print()`函数输出当前行与列相乘的结果,每行结束后换行,形成标准的乘法表格式。 ```java public class XiaoZi { public static void main(String[] args) ...

    人工智能-项目实践-搜索引擎-java实验1-实现搜索引擎的倒排索引数据结构

    如果写文本文件,推荐使用PrintWriter,当创建好PrintWriter对象后,调用其println和print方法可以将字符串一行行的写入到文本文件,使用方法与System.out.println, System.out.print完全一样 具体使用方法,请见...

    javazhuabaoshili.rar

    Java抓包工具及测试实例源码package netPackage; /******************* * JpcapTip.java */ //import java.net.NetworkInterface; //import java.net.InetAddress; //import java.net.... System.out.print

    Java两种输入输出方式

    System.out.print("请输入字符串:"); String inputStr = dis.readUTF(); System.out.print("请输入整数:"); int inputInt = dis.readInt(); dos.writeUTF("输入的字符串是:" + inputStr); dos.writeInt...

    c/java/c#实现的九九乘法表算法

    Java的实现与C#类似,但使用`System.out.print`和`System.out.println`方法: ```java public class MultiplicationTable { public static void main(String[] args) { for (int i = 1; i ; i++) { for (int j =...

    csv文件读下用的jar包

    System.out.print("--" + s); } System.out.println(); } } catch (IOException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } ...

    Java初学者必须掌握代码大全及解析_2(本人总结).docx

    System.out.print(String.valueOf(ch, 0, num)); // 方法1:转换为字符串 System.out.println(); System.out.print(new String(ch, 0, num)); // 方法2:转换为字符串 } // 测试返回值num表示数组长度 num = ...

    在完成对C语言的学习后,我最近开始了对C++和Java的学习

    out.write(c); System.out.print((char) c); } in.close(); out.close(); } catch (IOException e) { System.out.println("文件不能打开"); } } } ``` 错误处理 在编程中,错误处理是非常重要的。Java ...

    java读取和写入EXCEL文件

    import jxl.write.WritableCellFormat; import jxl.format.UnderlineStyle; import jxl.format.Colour; import java.io.File; public class ExcelWriter { public static void main(String[] args) { File temp...

    EX.rar_library5qx_triangle_编写triangle

    `System.out.print()`用于在控制台上输出,而`FileWriter`类则用来写入文件。`try-with-resources`语句确保在写入完成后正确关闭文件流,防止资源泄漏。 注意到压缩包中有一个名为"sy9 - 副本.java"的文件,这可能...

    java创建Excel并把数据导入到SQLserver

    import jxl.write.Label; import jxl.write.Number; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public class TestExcel { public static void main(String[] args) { // 创建 Excel ...

Global site tag (gtag.js) - Google Analytics