2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > java 边界_Java数组边界问题

java 边界_Java数组边界问题

时间:2024-03-26 21:51:14

相关推荐

java 边界_Java数组边界问题

各路大神请驻留,我的编写了一个简单类,只有一个Main函数,这是里面唯一的代码:try{FileInputStreamfis3=newFileInputStream("123.txt");byte[]buf3=newbyte[1024];inti=0;while((b...

各路大神请驻留,我的编写了一个简单类,只有一个Main函数,这是里面唯一的代码:

try{

FileInputStream fis3 = new FileInputStream("123.txt");

byte[] buf3 = new byte[1024];

int i = 0;

while((buf3[i] = (byte)fis3.read()) > 0){

i++;

}

System.out.print(i + "\n");

System.out.print(buf3.length + "\n");

System.out.print(new String(buf3, 0, buf3.length));

System.out.println();

System.out.print(new String(buf3, 0, i));

fis3.close();

}

catch(IOException ex){

ex.printStackTrace();

}

输出的结果如下:

136

1024

Hello World!ÿ

Hello World!

问题:为什么第一次输出字符串,却出现乱码呢? 还有:为什么buf3.length值居然是1024?

完整的136长度的字符串是这样的:

This is a test file for JavaIO.

To test InputStream class and OutputStream class.

To test Reader class and Writer class.

Hello World!

因为输入限制字数,所以我之把最后一行给贴出来了。

我看书上都说 buf3.length 将返回数组的实际长度,这个实际长度我就不明白了。

展开

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。