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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张然龙 金牌黑马   /  2014-5-18 13:14  /  1373 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张然龙 于 2014-5-18 15:22 编辑

我是按照毕老师的IO键盘录入方法,这个代码我基本理解了,但是有个问题就是不能录入中文子 ,这是为什么呢?还是in.read()不能读取中文字??


  1. import java.io.*;
  2. class Demo4
  3. {
  4.         public static void main(String[] args)throws IOException
  5.         {
  6.                 InputStream in=System.in;
  7.                 StringBuilder sb=new StringBuilder();
  8.                
  9.                 while(true)
  10.                 {
  11.                         int num=in.read();
  12.                         if(num=='\r')
  13.                                 continue;
  14.                         if(num=='\n')
  15.                         {
  16.                                 String s=sb.toString();
  17.                                 if("over".equals(s))
  18.                                         break;
  19.                                 System.out.println(s);
  20.                                 sb.delete(0,s.length());
  21.                         }
  22.                         sb.append((char)num);
  23.                 }
  24.         }
  25. }
复制代码

QQ截图20140518132503.jpg (10.08 KB, 下载次数: 9)

QQ截图20140518132503.jpg

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
第十一行用的int。。。。这个可能有影响
回复 使用道具 举报
哥们,IputStream的read一次只能读一个字节,而中文编码用了两个字节。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 很给力!

查看全部评分

回复 使用道具 举报
sheng6699 发表于 2014-5-18 14:25
哥们,IputStream的read一次只能读一个字节,而中文编码用了两个字节。

。。我刚看完毕老师的视频。。字节流可以转换字符流。。。呵呵。。谢了哥们
回复 使用道具 举报
字节流怎么会读入汉字那,,,,,应该用字符流(BufferedReader)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马