黑马程序员技术交流社区

标题: printwriter中的println和write?参看下面例子。 [打印本页]

作者: 朝哥    时间: 2012-7-28 17:14
标题: printwriter中的println和write?参看下面例子。
package com.abblcg;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class RegServer {

        /**
         * @param args
         * @throws IOException
         */
        public static void main(String[] args) throws IOException {
                ServerSocket ss = new ServerSocket(10000);
                Socket s = ss.accept();       
                       
                String ip = s.getInetAddress().getHostAddress();
                System.out.println("ip:" + ip);
               
                InputStream is = s.getInputStream();
                byte[] bt = new byte[1024];
                int len = is.read(bt);
                System.out.println(new String(bt,0,len));
               
                /*BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
                String line = null;
                while ((line = br.readLine())!=null) {
                        System.out.print(line);
                        System.out.println();
                }*/

                PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
                pw.println("<font size=7 color=blue>注册成功</font>");//为什么不能用write?
               
                ss.close();
                s.close();
                //br.close();
                pw.close();
        }
}


作者: 尤洋    时间: 2012-7-28 17:23
使用write的话还需要自己再添加换行命令newline,
打印流的话直接 用println就附带了换行功能
详细的见毕老师视频day20中的PrintWriter那一节,
我最近也在学习这方面的内容,希望回答能对你有所帮助
大家共勉。
作者: 黑马张涛    时间: 2012-7-28 23:47
楼上说的对,使用write需要再加一行newLine
因为在这一句中 PrintWriter pw = new PrintWriter(s.getOutputStream(),true); 设置true使得程序可以自动刷新缓冲区,并通过换行来判断是否刷新!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2