黑马程序员技术交流社区

标题: 问一下怎么结束的 [打印本页]

作者: 闫江龙    时间: 2011-12-28 23:16
标题: 问一下怎么结束的
本帖最后由 闫江龙 于 2012-1-3 11:52 编辑

import java.io.*;
import java.net.*;
class  TextClient
{
        public static void main(String[] args) throws Exception
        {
                Socket s = new Socket("192.168.1.254",10006);

                BufferedReader bufr =
                        new BufferedReader(new FileReader("IPDemo.java"));

                PrintWriter out = new PrintWriter(s.getOutputStream(),true);

                String line = null;
                while((line=bufr.readLine())!=null)
                {
                        out.println(line);
                }

                s.shutdownOutput();这里写的这句话 下面是怎么结束的?看下面标识的
               
                BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));

                String str = bufIn.readLine();
                System.out.println(str);

                bufr.close();

                s.close();
        }
}
class  TextServer
{
        public static void main(String[] args) throws Exception
        {
                ServerSocket ss = new ServerSocket(10006);

                Socket s = ss.accept();
                String ip = s.getInetAddress().getHostAddress();
                System.out.println(ip+"....connected");

                BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
                PrintWriter out  = new PrintWriter(new FileWriter("server.txt"),true);
                String line = null;

                while((line=bufIn.readLine())!=null)这里 上面加上那句话 这里的readLine()就不等了?循环结束?为什么?
                {                       
                        out.println(line);
                }
               
                               PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
                pw.println("上传成功");

                out.close();
                s.close();
                ss.close();

        }
}
作者: 闫江龙    时间: 2012-1-3 11:51
没人回答  不好查啊
作者: 为梦而战    时间: 2012-1-3 12:34
import java.io.*;
import java.net.*;
class  TextClient
{
        public static void main(String[] args) throws Exception
        {
                Socket s = new Socket("192.168.1.254",10006);

                BufferedReader bufr =
                        new BufferedReader(new FileReader("IPDemo.java"));

                PrintWriter out = new PrintWriter(s.getOutputStream(),true);

                String line = null;
                while((line=bufr.readLine())!=null)
                {
                        out.println(line);
                }

                s.shutdownOutput();关闭客户端的输出流,相当于给流中加入了线束标记,
               
                BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));

                String str = bufIn.readLine();
                System.out.println(str);

                bufr.close();

                s.close();
        }
}
class  TextServer
{
        public static void main(String[] args) throws Exception
        {
                ServerSocket ss = new ServerSocket(10006);

                Socket s = ss.accept();
                String ip = s.getInetAddress().getHostAddress();
                System.out.println(ip+"....connected");

                BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
                PrintWriter out  = new PrintWriter(new FileWriter("server.txt"),true);
                String line = null;

                while((line=bufIn.readLine())!=null)//   当这里的readLine()读取到上面传给输出流的结束标记时,这个读取动作就结束了,相当于line=null,循环条件             {                                                                     //不满足,循环肯定要结束了。
                        out.println(line);
                }               
                               PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
                pw.println("上传成功");

                out.close();
                s.close();
                ss.close();

        }
}




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