CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

急求标准输入BYTE和STRING转换问题

楼主pilibiaoche()2006-05-03 12:20:19 在 Java / J2SE / 基础类 提问

System.in.read(x);  
  读取了以后是ASCII码。。。。。  
  怎么才能换成字符串? 问题点数:20、回复次数:6Top

1 楼YidingHe(机枪兵)回复于 2006-05-03 12:50:26 得分 10

下面是一个例子:  
  ----------------------------------------------  
  import   java.io.BufferedReader;  
  import   java.io.IOException;  
  import   java.io.InputStreamReader;  
   
  public   class   Input   {  
   
  /**  
                    *   读取用户输入的一行  
    *   @return   用户输入的一行字符  
    *   @throws   IOException   如果读取失败  
    */  
  public   static   String   readLine()   throws   IOException   {  
  BufferedReader   breader   =   new   BufferedReader(new   InputStreamReader(  
  System.in));  
  return   breader.readLine();  
  }  
  }  
  Top

2 楼YidingHe(机枪兵)回复于 2006-05-03 12:57:39 得分 0

搞错了,  
  new   String(x)   就可以了。Top

3 楼iambic()回复于 2006-05-03 12:59:34 得分 10

new   String(byte[]   bytes)  
   
  /******用你的方法写了段代码******/  
   
   
  public   class   Test   {  
          public   static   void   main(String   args[]){  
                  try   {  
                   
                  StringBuffer   stringBuffer   =   new   StringBuffer(1024);  
                  byte   buffer[]   =   new   byte[1024];  
                  int   len   =   0;  
                  while(   (len   =   System.in.read(buffer))   >   0   )   {  
                          stringBuffer.append(new   String(buffer,   0,   len));  
                  }  
                   
                  System.out.println("result:   "+stringBuffer.toString());  
                   
                  }   catch(IOException   e)   {  
                          e.printStackTrace();  
                  }  
          }  
  }  
  Top

4 楼iambic()回复于 2006-05-03 13:00:35 得分 0

注意你没有检查byte[]的长度是否足够。Top

5 楼java_love007(苦到心甜)回复于 2006-05-03 16:55:28 得分 0

(len   =   System.in.read(buffer)>0  
  难道只有正数才能读取吗?这个判断有点问题  
  Top

6 楼iambic()回复于 2006-05-03 17:10:49 得分 0

我记得文档好像是返回-1是读到EOF,返回0应该也是可以的。写的时候贪顺手就没改。谢谢楼上的纠正。  
   
  还有我上面的那个注意是不合适的。主要问题不是bytes长度不够,而是长度多余的时候,返回的String对象可能会不正确。Top

相关问题

关键词

得分解答快速导航

  • 帖主:pilibiaoche
  • YidingHe
  • iambic

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo