第一种方法其实你并未处理异常,只是简单地将它抛出
第2个你在catch块里面进行异常处理,也就是调用所谓异常处理器
BufferedWriter bb =new BufferedWriter(socket.getOutputStream());
PrintWriter out =new PrintWriter(bb);
out.println(str);装饰流
第2个你在catch块里面进行异常处理,也就是调用所谓异常处理器
BufferedWriter bb =new BufferedWriter(socket.getOutputStream());
PrintWriter out =new PrintWriter(bb);
out.println(str);装饰流
PrintWriter out =new PrintWriter(bb);
out.println(str);装饰流
请说的详细点!谢谢!
有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);