¿Es posible crear una lista en Java utilizando datos de múltiples archivos de texto?

Tengo varios archivos de texto que contienen información sobre la popularidad de diferentes lenguajes de programación en diferentes países basados ​​en las búsquedas de Google. Tengo un archivo de texto para cada año de 2004 a 2015. También tengo un archivo de texto que lo desglosa cada semana (llamado iot.txt) pero este archivo no incluye el país.

Datos de ejemplo de 2004.txt:

Region  java    c++ c#  python  JavaScript

Argentina   13  14  10  0   17

Australia   22  20  22  64  26

Austria 23  21  19  31  21

Belgium 20  14  17  34  25

Bolivia 25  0   0   0   0

etc.

ejemplo de iot.txt:

Week    java    c++ c#  python  JavaScript

2004-01-04 - 2004-01-10 88  23  12  8   34

2004-01-11 - 2004-01-17 88  25  12  8   36

2004-01-18 - 2004-01-24 91  24  12  8   36

2004-01-25 - 2004-01-31 88  26  11  7   36

2004-02-01 - 2004-02-07 93  26  12  7   37

Mi problema es que estoy tratando de escribir código que genere la cantidad de países que han mostrado 0 intereses en Python.

Este es mi código actual que uso para leer los archivos de texto. Pero no estoy seguro de la mejor manera de saber la cantidad de regiones que tienen 0 intereses en Python en todos los años 2004-2015. Al principio, pensé que la mejor manera sería crear una lista a partir de todos los archivos de texto que no incluye iot.txt y luego buscar cualquier entrada que tenga 0 interés en Python, pero no tengo idea de cómo hacerlo.

¿Alguien puede sugerir una forma de hacer esto?

import java.io.BufferedReader;
import java.io.FileReader;

import java.util.*;

public class Starter{

    public static void main(String[] args) throws Exception {
        BufferedReader fh =
                new BufferedReader(new FileReader("iot.txt"));
        //First line contains the language names
        String s = fh.readLine(); 
        List<String> langs =
                new ArrayList<>(Arrays.asList(s.split("\t")));
        langs.remove(0);    //Throw away the first word - "week"
        Map<String,HashMap<String,Integer>> iot = new TreeMap<>();
        while ((s=fh.readLine())!=null)
        {
            String [] wrds = s.split("\t");
            HashMap<String,Integer> interest = new HashMap<>();
            for(int i=0;i<langs.size();i++)
                interest.put(langs.get(i), Integer.parseInt(wrds[i+1]));
            iot.put(wrds[0], interest);
        }
        fh.close();
        HashMap<Integer,HashMap<String,HashMap<String,Integer>>>
            regionsByYear = new HashMap<>();
        for (int i=2004;i<2016;i++)
        {
            BufferedReader fh1 =
                    new BufferedReader(new FileReader(i+".txt"));
            String s1 = fh1.readLine(); //Throw away the first line
            HashMap<String,HashMap<String,Integer>> year = new HashMap<>();
            while ((s1=fh1.readLine())!=null)
            {
                String [] wrds = s1.split("\t");
                HashMap<String,Integer>langMap = new HashMap<>();
                for(int j=1;j<wrds.length;j++){
                    langMap.put(langs.get(j-1), Integer.parseInt(wrds[j]));
                }
                year.put(wrds[0],langMap);
            }
            regionsByYear.put(i,year);
            fh1.close();
        }
    }
}
Respuesta 1

Cómo leer un archivo de registro del servidor web en Java. Este archivo se actualiza todo el tiempo. Si abro un nuevo FileInputStream, ¿leerá el registro en tiempo real? Saludos

Tengo que compilar mi código fuente con Java 6 para la universidad. Actualmente tengo Java 8 JDK instalado en mi PC (Linux). ¿Cómo compilo en Java 6? PD: Entiendo que no podré usar ninguna ...

// código heredado void setCacheValue (String name, Object value) {getServletContext (). setAttribute (name, value); } Objeto getCacheValue (String name) {return getServletContext (). GetAttribute (name); ...

Tengo un HashMap que quiero convertir en objeto personalizado Response. No estoy seguro de cómo establecer los valores (80, 190, 900, 95) de HashMap en el objeto personalizado. Cómo escribir una función separada en ...