i seem to be having a similar problem with this one as i had for euler 81 the answer is in the ballpark but is significantly less than correct answer. the other thing they have in common is they use the same method to populate the array(hence i suspect that method but see nothing wrong with it).
i get answer 51267216
correct answer is 70600674
an unrelated question. do you like the try catch block where it is, or do you think it would be better inside the readData() method?
i noticed i had an int called sum that is actually a product...i changed it.
For this sort of thing, you always ought to write the algorithm on paper before trying any coding.
I don’t like that try-catch I am afraid.
You need a finally (or try-with-resources) to make sure the reader is properly closed. I don’t know whether you can use try-with-resources without a catch or finally following; I have never tried. You may have to re-throw the Exception; in fact, since you are not taking any action to recover from the Exception, you might as well re-throw it all the way to the main method and terminate the JVM.
Why on earth are you using String arrays rather than int? That is not the sort of thing Strings were intended for at all