"java.lang.ArrayIndexOutOfBoundsException" with System.arraycopy()
Posted
by Noona
on Stack Overflow
See other posts from Stack Overflow
or by Noona
Published on 2010-04-23T10:25:28Z
Indexed on
2010/04/23
10:33 UTC
Read the original article
Hit count: 318
java
These few lines of code are giving me a "java.lang.ArrayIndexOutOfBoundsException" exception, could someone please take a look and point out why (the exception is caused in the second arraycopy() call):
byte [] newContentBytes = EntityUtils.toByteArray((serverResponse.getEntity()));
newContent = new String(newContentBytes);
System.out.println( newContent);
byte [] headerBytes = headers.getBytes();
byte[] res = new byte[newContentBytes.length + headerBytes.length];
//headerBytes.
System.arraycopy(headerBytes, 0, res, 0, headerBytes.length);
System.out.println( "length: " + newContentBytes.length);
System.arraycopy(newContentBytes, 0, res, newContentBytes.length , newContentBytes.length);
The problem is in allocating res size, for example if I write new byte[newContentBytes.length + headerBytes.length+ 2000] instead the exception doesn't occur, so what should the accurate size be?
© Stack Overflow or respective owner