public ArrayList<GeoRefData> loadData () throws IOException {

        DataInputStream in = null;

        try {

            for(String archive : this.archives) {
                String strLine;

                FileInputStream fileInputStream = new FileInputStream(this.directory + "/" + archive);
                in                  = new DataInputStream(fileInputStream);
                BufferedReader br   = new BufferedReader(new InputStreamReader(in));

                GeoRefData geoRefData = new GeoRefData();

                for (int i = 0; i < 7; i++) {
                    strLine = br.readLine();

                    // City
                    if (i == 1)
                        geoRefData.addCity(parseCity(strLine));
                }

                while (!(strLine = br.readLine()).equals("EOF"))
                    geoRefData.addGeoRef(parseGeoRef(strLine));

                geoRefDatas.add(geoRefData);

                in.close();
            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            throw e;
        } finally {
            if (in != null) {
                in.close();
            }
            // TODO: acá deberia funcionar un in.close(), pero no me resulta xD
        }

        return geoRefDatas;
    }