Out对象中clear()和clearBuffer()的区别
public abstract void clearBuffer() :清除缓冲区的数据,如果在flush之后调用不会抛出异常。
public abstract void clear() :清除缓冲区的当前内容,如果在flush之后调用会抛出异常。
1. clear()测试
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Out</title>
</head>
<body>
<%
out.write("hello ");
out.write("world");
out.flush();
out.clear();
out.write("!!!");
System.out.println(out.getRemaining());
%>
</body>
</html>
结果:
控制台无输出,客户端数据不显示!(抛异常或者卡住)
2. clearBuffer()测试
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Out</title>
</head>
<body>
<%
out.write("hello ");
out.write("world");
out.flush();
out.clearBuffer();
out.write("!!!");
System.out.println(out.getRemaining());
%>
</body>
</html>
结果:
控制台有输出,客户端数据显示!
3. 单独测试
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Out</title>
</head>
<body>
<%
out.write("hello ");
out.write("world");
out.clearBuffer();
System.out.println(out.isAutoFlush());
%>
</body>
</html>
结果
单独使用clear()或者clearBuffer()方法,客户端数据都不显示,但控制台有输出!
hello_S2: 哥们你这是走迷宫1吧
xiao_chen_sir: jar缺少运行时组件怎么办
m0_63951734: 把a[i]='\0'如果像这样写在if语句之外的话不就会使得最后输入字符串结束标志时,a[0]被存入了'\0'吗?把这个写入if语句内是不是更好一点
qq_39832363: Post(pre+1,in,i,root-(len-i-1)-1);//后续遍历左子树 Post(pre+1+i,in+i+1,len-i-1,root-1);//后续遍历右子树 Post函数里面的参数为什么是这四个
誓言唯美RQL: 为啥我没写还是不得行