El código de error parece bastante autoexplicativo.
The code of method main(String[]) is exceeding the 65535 bytes limit
Esto se debe a que existe un límite arbitrario codificado en Java de 64 Kb para los tamaños de los métodos. (Y, de hecho muchas otras cosas están limitadas a 64 K, tales como nombres de métodos, el número de constantes, etc. Ver la Java 8 specs o la Java 7 specs para más detalles.)
Para evitar esto, todo lo que tiene que hacer es descanso su método main(String[] args)
en múltiples submétodos.
¿Pero por qué no simplemente cargar los nombres de un archivo en su lugar?
Algunos de los problemas con hacerlo de la manera que usted está proponiendo actualmente son:
en primer lugar, que está detalles de codificación duros, que es casi siempre una mala cosa (Ver this);
En segundo lugar, aparece el mensaje de error; y
En tercer lugar, hace que su código sea muy difícil de leer.
Hay muchos más, por supuesto, pero estos son los más obvios.
'La cantidad de código por método no nativo y no abstracto está limitada a 65536 bytes por los tamaños de los índices en la tabla de excepción del atributo Código (§4.7.3), en el atributo LineNumberTable (§4.7. 8), y en el atributo LocalVariableTable (§4.7.9) .' de acuerdo con java doc http://docs.oracle.com/javase/specs/#88659 –
¿es 9000 o 90,000? – lsof