为什么PrintStream(OutputStream os).println()可以自动刷新
一起玩编程 2010-03-17 10:12:11
BufferedReader brkeyb = null;
ServerSocket ss = null;
Socket sock = null;
OutputStream os = null;
try {
ss = new ServerSocket(9999);
System.out.println("服务器启动");
sock = ss.accept();
os = sock.getOutputStream();
PrintStream ps = new PrintStream(os);
brkeyb = new BufferedReader(new InputStreamReader(System.in));
while (flag) {
//从键盘读取信息发往客户端
String sk = brkeyb.readLine();
ps.println("Server: " + sk); //@1@ 不加ps.flush()也能把消息发往客户端
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
br.close();
sock.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
提问:@1@ 处我不加ps.flush()也能把消息发往客户端,但是public PrintStream(OutputStream os)创建的是不带自动刷新的流,怎么能自动刷新呢?