黑马程序员技术交流社区

标题: IO键盘录入问题! 求指点! [打印本页]

作者: 张然龙    时间: 2014-5-18 13:14
标题: IO键盘录入问题! 求指点!
本帖最后由 张然龙 于 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, 下载次数: 24)

QQ截图20140518132503.jpg

作者: stream    时间: 2014-5-18 14:18
第十一行用的int。。。。这个可能有影响
作者: sheng6699    时间: 2014-5-18 14:25
哥们,IputStream的read一次只能读一个字节,而中文编码用了两个字节。
作者: 张然龙    时间: 2014-5-18 15:22
sheng6699 发表于 2014-5-18 14:25
哥们,IputStream的read一次只能读一个字节,而中文编码用了两个字节。

。。我刚看完毕老师的视频。。字节流可以转换字符流。。。呵呵。。谢了哥们
作者: 赵洋洋    时间: 2014-5-18 15:35
字节流怎么会读入汉字那,,,,,应该用字符流(BufferedReader)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2