A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhaotiao3080 中级黑马   /  2015-3-12 15:43  /  785 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

       因为要捕捉excption 所以把BufferedReader定义放在了try的外边并赋值为null。否则BufferedReader作为try中的局部变量finally 中
无法识别  但BufferedReader bufr=null;这样赋值是否正确
public static void main(String[] args) {
               
                Socket s=null;
               
                BufferedReader bufr=null;
               
                try {
                        //建立客户端并连接到指定主机和端口                       
                        s=new Socket("127.0.0.1",10006);
                       
                        //定义获取键盘录入的输入流对象                       
                        bufr=new BufferedReader(new InputStreamReader(System.in));               
                       
                        //定义Socket输出流,把键盘录入数据写入其中,发给服务端
                        PrintWriter out=new PrintWriter(s.getOutputStream(),true);
                       
                        //定义Socket输入流,接收服务器返回的反转后的数据
                        BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
                        System.out.println("请输入一个字符串,它将上传至服务器反转之后返回。");

                        String line=null;
                       
                        //当键盘录入不为空时,每读取一行就发给服务端,并把服务端返回的数据打印在客户端
                        while((line=bufr.readLine())!=null){
                               
                                out.println(line);
                               
                                String str=bufIn.readLine();
                               
                                System.out.println("服务器反转后的字符串:"+str);
                               
                               
                        }
                       
                       
                       
                } catch (UnknownHostException e) {
                       
                        e.printStackTrace();
                       
                } catch (IOException e) {
                       
                        e.printStackTrace();
                }
             finally{
                     if(s!=null)
                                try {//关闭资源
                                        s.close();
                                        bufr.close();
                                } catch (IOException e) {
                                       
                                        e.printStackTrace();
                                }
                   
             }
               
        }
       
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马