1.Java PrintWriter构造方法的问题
2.javaç½ç»ç¼ç¨ PrintWriter
Java PrintWriter构造方法的问题
print()中是没有调用flush()的!你用print()就必须在后面用flush()函数
而println()中调用了flush()的Qnx源码解读 当你创建对象的时候设为自动刷新true的话 println就能输出而 设为false都不行的
//print 源代码
public void print(String s) {
if (s == null) {
s = "null";
}
write(s);
}
//println源代码
public void println() {
newLine();//这里调用了newLine();
}
//newLine源代码
private void newLine() {
try {
synchronized (lock) {
ensureOpen();
out.write(lineSeparator);
if (autoFlush)//这里就调用了 刷新缓冲流了
out.flush();
}
}
catch (InterruptedIOException x) {
Thread.currentThread().interrupt();
}
catch (IOException x) {
trouble = true;
}
}
javaç½ç»ç¼ç¨ PrintWriter
ç½ç»ç¼ç¨ è¾å ¥è¾åºæµé½ç¨äºè¿å¶æµåï¼å符æµä¼åºé®é¢ï¼åftpçå½ä»¤å·®ä¸éçæ¦å¿µï¼å¦æç¨å符çï¼å¯è½ä¼åºé®é¢ï¼å¦æç¨äºè¿å¶æµè¯å®ä¸ä¼é