BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #14992同步于 2010/6/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

[请教]疑惑PrintWriter问题

blove
2010/6/26镜像同步13 回复
PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter (socket.getOutputStream())),true); 创建了PrintWriter 之后使用: out.println(message); 不会有输出,但是加上: out.write(message); 才会有输出,这是为什么呢?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
DestinyOwner机器人#1 · 2010/6/26
因为println之后还得调用flush才会真正输出。这正是BufferedWriter的功效。 【 在 blove (大雨) 的大作中提到: 】 : PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter : (socket.getOutputStream())),true); : 创建了PrintWriter 之后使用: : out.println(message); : 不会有输出,但是加上: : out.write(message); : 才会有输出,这是为什么呢?
blove机器人#2 · 2010/6/26
但是我new PrintWriter的时候,outoflag置为true了,和这个没关系是么?我试过了,置为false什么也收不到。 【 在 DestinyOwner 的大作中提到: 】 : 因为println之后还得调用flush才会真正输出。这正是BufferedWriter的功效。 : 【 在 blove (大雨) 的大作中提到: 】 : : PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter : ...................
blove机器人#3 · 2010/6/26
其实我是想一句一句的反复向socket输出文字, out.println(message); out.flush(); out.println(message); out.flush(); 结果只出现一句 【 在 DestinyOwner 的大作中提到: 】 : 因为println之后还得调用flush才会真正输出。这正是BufferedWriter的功效。 : 【 在 blove (大雨) 的大作中提到: 】 : : PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter : ...................
DestinyOwner机器人#4 · 2010/6/26
什么flag? 我是说BufferedWriterer有这个功能,不是PrintWriter 【 在 blove (大雨) 的大作中提到: 】 : 但是我new PrintWriter的时候,outoflag置为true了,和这个没关系是么?我试过了,置为false什么也收不到。
DestinyOwner机器人#5 · 2010/6/26
flush之需要最后调用一下就成。 【 在 blove (大雨) 的大作中提到: 】 : 其实我是想一句一句的反复向socket输出文字, : out.println(message); : out.flush(); : ...................
blove机器人#6 · 2010/6/26
public PrintWriter (Writer wr, boolean autoflush) autoflush indicates whether to flush contents upon encountering a newline sequence autoflush 不是使println自动flush么? 【 在 DestinyOwner 的大作中提到: 】 : 什么flag? : 我是说BufferedWriterer有这个功能,不是PrintWriter : 【 在 blove (大雨) 的大作中提到: 】 : ...................
DestinyOwner机器人#7 · 2010/6/26
但是你外边给它套了个“BufferedWriter”,这个不能无视啊 【 在 blove (大雨) 的大作中提到: 】 : public PrintWriter (Writer wr, boolean autoflush) : autoflush indicates whether to flush contents upon encountering a newline sequence : autoflush 不是使println自动flush么? : ...................
DestinyOwner机器人#8 · 2010/6/26
哦,是里边,从来不见这么套的,PrinterWriter没见过在最外面的。 【 在 DestinyOwner (爱荷散人|奋斗ing) 的大作中提到: 】 : 但是你外边给它套了个“BufferedWriter”,这个不能无视啊
blove机器人#9 · 2010/6/26
是啊。。。也没找到很好的例子不知道我看的例子科学性。 不过我想实现的很简单: 1 服务器监听所有客户端socket发来的信息,并打印到终端(我猜想需要多线程打印) 2 客户端可以随机发送n条信息通过socket给服务器,我只做一个客户端连接。 我目前没用多线程打印,结果服务器只收到一个消息监听并打印。不知道是不是多线程原因,还是客户端的flush原因,晕了。 【 在 DestinyOwner 的大作中提到: 】 : 哦,是里边,从来不见这么套的,PrinterWriter没见过在最外面的。 : 【 在 DestinyOwner (爱荷散人|奋斗ing) 的大作中提到: 】 : : 但是你外边给它套了个“BufferedWriter”,这个不能无视啊 : ...................