第一种方法其实你并未处理异常,只是简单地将它抛出
第2个你在catch块里面进行异常处理,也就是调用所谓异常处理器
BufferedWriter bb =new BufferedWriter(socket.getOutputStream());
PrintWriter out =new PrintWriter(bb);
out.println(str);装饰流

解决方案 »

  1.   

    BufferedWriter bb =new BufferedWriter(socket.getOutputStream());
    PrintWriter out =new PrintWriter(bb);
    out.println(str);装饰流 
     请说的详细点!谢谢!
      

  2.   

    其实这很好记的,
    有Stream的类名就是字节流,
    有Writer/Reader的就是字符流,
    两个皆有的就是转换流!OutputStream是字节流,
    而在你的应用中你想实现out.println(str);
    而这个只有在PrintWriter中才有这个方法可把str输出到屏幕上.
    而PrintWriter要求你喂给它一个字符流才能构造它,
    你现在只有OutputStream,我前面说过了,它是一个字节流,
    它只要用字节字符流转换就行了,
    那肯定是OutputStreamWriter,
    OutputStreamWriter osw = new OutputStreamWriter(socket.getOutputStream());
    可能你的应用中你又想用readLine(),
    那还要把它再用缓冲流包装一下,
    BufferedWriter bw = new BufferedWriter(osw);
    这样就好了,
    它已经是字符流了,
    最后用包装流PrintWriter包装一下,
    PrintWriter out =new PrintWriter(bw);