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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘勇强 中级黑马   /  2013-5-25 14:17  /  1833 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class  TransClient
  2. {
  3.         public static void main(String[] args) throws Exception
  4.         {
  5.                 Socket s = new Socket("192.168.1.254",10005);


  6.                 //定义读取键盘数据的流对象。
  7.                 BufferedReader bufr =
  8.                         new BufferedReader(new InputStreamReader(System.in));


  9.                 //定义目的,将数据写入到socket输出流。发给服务端。
  10.                 //BufferedWriter bufOut =
  11.                         //new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
  12.                 PrintWriter out = new PrintWriter(s.getOutputStream(),true);



  13.                 //定义一个socket读取流,读取服务端返回的大写信息。
  14.                 BufferedReader bufIn =
  15.                         new BufferedReader(new InputStreamReader(s.getInputStream()));

  16.                 String line = null;
  17.                
  18.                 while((line=bufr.readLine())!=null)
  19.                 {
  20.                         if("over".equals(line))
  21.                                 break;
  22.                         
  23.                         out.println(line);
  24. //                        bufOut.write(line);
  25. //                        bufOut.newLine();
  26. //                        bufOut.flush();

  27.                         String str =bufIn.readLine();
  28.                         System.out.println("server:"+str);
  29.                         
  30.                 }

  31.                 bufr.close();
  32.                 s.close();


  33.         }
  34. }
复制代码
毕老师视频 TCP传输
  BufferedWriter bufOut = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
被下面的PrintWriter语句 替换               
PrintWriter out = new PrintWriter(s.getOutputStream(),true);

然后                          
bufOut.write(line.toUpperCase());                        
bufOut.newLine();                       
bufOut.flush();
这三句被out.println(line.toUpperCase()); 替换。


我的疑问是 out.println(line.toUpperCase()); 中的println(String x);方法也是把字符串参数写入 PrintWriter 字符流 out中吗?
因为代替的那三句就是把大写后的字符串写到输出流中.

如果是的话,PrintWrite类中的 void println(String x);方法  和 void write(String x);方法  在使用中有什么区别呢






评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

2 个回复

正序浏览
逸盏清茶 发表于 2013-5-25 14:22
void println(String x) 带换行 ,void write(String x)不带换行

void println(String x)也是往输出流中写内容,对吗?
回复 使用道具 举报
void println(String x) 带换行 ,void write(String x)不带换行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马