I am reading a file that has 10,000 int values and then trying to store these in an array. There is an exception thrown which says that the array value is too large.
I was wondering, rather than write this array out in to a variable, could i possibly just keep it in memory and read it from there. Would this be a suitable way of solving this problem?
edit:
After more examination it appears that the error being thrown is a “code to large for try statement” error. I am reading each array element and appending it to a string, maybe this is what is causing the error?
You could use an ArrayList instead – but an array should be fine with 10,000 values. Can you post more detail? Code, full stack trace etc. Theoretically it should be fine with
Integer.MAX_VALUEelements (a LOT more than 10k), but of course you may run out of memory first!In terms of “just keep it in memory and read it from there”, well variables are just kept in memory, so whether you use an array or a list (or any other data structure) you’ll always be reading it from memory!
EDIT: Based on your additional explanation then it’s not a problem with the array size at all, it’s a problem with you generating 10,000 lines of code to put in a single block, which is too many and thus it complains. Alter your code to generate code that uses a loop instead and all should be well, however many elements you have in there (up to Integer.MAX_VALUE of course.)