在Java中,我正在使用RandomAccessFile进行一些工作。我有一个8192字节或8kb的文件。为什么我在这个Java程序中得到ArrayIndexOutOfBoundsException?
以下是导致一个ArrayIndexOutOfBoundsException:
File file = new File("TestFile1");
raf = new RandomAccessFile(file, "rw");
byte[] temp = new byte[4096];
raf.read(temp, 4096, 4096);
即使是这样导致了同样的错误:
raf.read(temp, 4096, 1);
虽然像这样完美的作品:
raf.read(temp, 0, 4096);
当我运行以下,我得到8192,这就是为什么我很困惑,为什么这是n ot working:
System.out.println(raf.getChannel().size());
如果我试图从文件的后半部分读取,为什么会出现越界错误?
请告诉我们并告诉我们bp1是什么。这似乎是您隐藏在我们身上的关键信息。 –
为什么这是downvoted?! – 2013-10-30 17:11:05
修正了,我的错误。 – elykl33t