读书人

读文件 . 不是很熟悉java,看看为什么

发布时间: 2012-02-13 17:20:26 作者: rapoo

读文件 ... 不是很熟悉java,看看为什么出现错误?

Java code
File file = new File(FileName) ;           java.io.FileReader fr=new java.io.FileReader(file); char[] cbuf=new char[1024];Integer offset=Integer.valueOf(1);Integer iRead;iRead=fr.read(cbuf,offset,1024);


出现如下错误:
Exception in thread "main" java.lang.IndexOutOfBoundsException
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:131)


[解决办法]
offset是不是不是应该从0开始?
[解决办法]
看看StreamDecoder.java的131行
[解决办法]
数组越界,数组下标应该从0开始,1023结束进行阅读,你这样读取的是第二个到第1025个数组元素,显然是越界了
[解决办法]
看错了,1楼正解,从0开始

offset是cbuf的偏移量吧
read(cbuf,1,1023)
read(cbuf,0,1024)

读书人网 >J2SE开发

热点推荐