// 客户端
Socket clientSkt = null;
// 客户端输入流
BufferedReader in = null;
// 客户端输出流
PrintStream out = null;
in = new BufferedReader(new InputStreamReader(clientSkt.getInputStream()));
out = new PrintStream(clientSkt.getOutputStream());
clientSkt.getInputStream() 
clientSkt.getOutputStream() 返回的都是字节流;BufferedReader()从字符输入流中读取文本,缓冲各个字符;
 in 是字符流!PrintStream()返回一个打印流; 打印流是什么流? 哪out是什么流?

解决方案 »

  1.   

    PrintStream是在控制台显示的流,就是说返回的输出流会在你的console控制台上显示。
      

  2.   

    PrintStream是字节流,是FilteroutputStream的子类,字节流都是OutputStream的子类,你所说的主要都是字节流和字符流的区别
      

  3.   

    Stream结尾的全为字节流   一个字节一个字节的处理
    Reader或Write结尾的全为字符流   一个字符一个字符的处理
      

  4.   

    所有字节输出流都是OutputStream类的直接或间接子类LZ看下面的输出流的层次结构:                        1.ByteArrayOutputStream
                            2.FileOutputStream
    OutputStream============3.PipedOutputStream
                            4.ObjectOutputStream              1.BufferedOutputStream
                            5.FilterOutputStream==============2.DataOutputStream
                                                              3.PrintStream
    PrintStream也是一种字节输出流,它是OutputStream的间接字类,它是过滤流FilterOutputStream(是一种装饰器,来装饰其它的输出流,比如new PrintStream(clientSkt.getOutputStream())它的作用就是扩展功能的,比如增加写数据的方法啊等,本质是和OutputStream一样的哦,)的直接子类建议LZ 好好看看JAVA IO的部分
      

  5.   

    上面的层次结构没对齐  
    说明下  OutputStream有5个字类.....FilterOutputStream有三个子类..PrintStream是一种装饰器类也可以叫做过滤流,来装饰其它的输出流,比如new PrintStream(clientSkt.getOutputStream())它的作用就是扩展功能的,比如增加写数据的方法啊等,本质是和OutputStream一样的