当前位置: 代码迷 >> Java相关 >> [求助]有关I/O问题
  详细解决方案

[求助]有关I/O问题

热度:104   发布时间:2006-10-30 22:29:14.0
[求助]有关I/O问题

import java.io.*;
public class IODemo2
{
public static void printArray(byte bytes[] ,int num)
{
System.out.println("读了"+ num + "个字节,数组中的数据");
for(int i=0; i< bytes.length; i++)
{
System.out.print(Integer.toHexString(bytes[i])+ " ");
}
System.out.println();
for(int i=0; i< num; i++)
{
System.out.write(bytes[i]);
}
}

public static void main(String[] args) throws Exception
{
InputStream in = System.in;
byte bytes[] = new byte[5];
int num = System.in.read(bytes);
printArray(bytes,num);
num = in.read(bytes,2,2);
printArray(bytes,num);

num = in.read(bytes,2,10);
printArray(bytes,num);

}
}

运行结果:

1234567890
读了5个字节,数组中的数据
31 32 33 34 35
12345读了2个字节,数组中的数据
31 32 36 37 35
Exception in thread "main" java.lang.Index
at java.io.BufferedInputStream.rea
at IODemo2.main(IODemo2.java:27)

我的问题:我不明白"12345读了2个字节,数组中的数据"中"12345"是哪句的结果还有
31 32 36 37 35是怎么回事?谢谢


----------------解决方案--------------------------------------------------------

晕倒,这个论坛不热,居然没人回贴的.


----------------解决方案--------------------------------------------------------

你打出来的数字都是十六进制的,31对应十制的49,也就是数字"1"的ascii码,以此类推
它们所表示的就是你输入的数字


----------------解决方案--------------------------------------------------------
  相关解决方案