Error al devolver array multidimensional

Iniciado por viher, 25 Diciembre 2014, 00:30 AM

0 Miembros y 1 Visitante están viendo este tema.

viher

Hola, me he puesto ahora a darle caña a Java y estoy teniendo un problema.

He creado un archivo "properties" para mi apalicación y según he leido por internet, en el archivo properties cuando guardo una valor durante la ejecución de la aplicación, si sólo le paso un valor me actualiza el archivo properties pero sólo con ese valor, es decir, me elimina los anteriores (cosa que no quiero). Ante esta situación había pensado hacer un método que obtuviese todos los valores del archivo properties e ir comprobando cual quiero actualizar para a la hora de guardarlos en el archivo se guarden todos los valores.

Bien, el caso es que he hecho un método para que me devuelva un array multidimensional con el contenido del archivo properties, pero me devuelve el siguiente error y no se muy bien porqué:

Código (java) [Seleccionar]

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at helpers.PropertiesHelper.getConfigFileValues(PropertiesHelper.java:153)
at youtube_java_downloader.Youtube_java_downloader.main(Youtube_java_downloader.java:20)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)


El método es el siguiente:

Código (java) [Seleccionar]

public static String[][] getConfigFileValues()
{
        String ret[][] = new String[configProp.size()][2];
       
       try
       {
           InputStream is = new FileInputStream(configFilePath);
           configProp.load(is);

           int con = 0;

           for (Enumeration e = configProp.keys(); e.hasMoreElements();)
           {
               Object obj = e.nextElement();

               ret[con][0] = obj.toString();
               ret[con][1] = configProp.getProperty(obj.toString());
               con++;

               //System.out.println(obj + ": " + configProp.getProperty(obj.toString()));
           }

       }
       catch (FileNotFoundException ex)
       {
           Logger.getLogger(PropertiesHelper.class.getName()).log(Level.SEVERE, null, ex);
       }
       catch (IOException ex)
       {
           Logger.getLogger(PropertiesHelper.class.getName()).log(Level.SEVERE, null, ex);
       }
       
       return ret;
   }


Un saludo y gracias.

Ya lo he solucionado, disculpen las molestias.