Leitura de arquivo Java

Bom dia pessoal, preciso realizar um pre processamento de arquivos em java para uma atividade de datascience porém não estou obtendo sucesso. É muito simples, basta ler dois arquivos, comparar as chaves e a partir de chaves iguais correr o arquivo de consumo e marcar algumas variáveis com 1 caso ele apareça. O código é o seguinte:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.util.logging.Level;
import java.util.logging.Logger;

public class PréProcessamento {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) throws IOException {
    
     BufferedReader consumoin = null ;
     BufferedReader pessoain = null;
     String linhasaida = "0";
    boolean write = false;
    BufferedWriter processado = null;
    String cons_celular = "0",cons_telfixo = "0",cons_shows = "0",cons_dvd = "0",cons_internet = "0", cons_cinema = "0";
    String val_cons_celular = "0",val_cons_telfixo = "0",val_cons_shows = "0",val_cons_dvd = "0",val_cons_internet = "0", val_cons_cinema = "0";
    
    String linhapessoa = null;
    String linhaconsumo = null ;
    String con_domclId = null;
    String con_pessoaId = null;
    
    String[] splitlinhaconsumo = null;
    String[] splitlinhapessoa = null;
   
    FileReader consumo = null;
    try {
        consumo = new FileReader("D:/BasesStataFINAL/testeconsumo.csv");
    } catch (FileNotFoundException ex) {
        Logger.getLogger(PréProcessamento.class.getName()).log(Level.SEVERE, null, ex);
        linhaconsumo = ex.getMessage();
    }
    FileReader pessoas = null;
    try {
        pessoas = new FileReader("D:/BasesStataFINAL/testepessoa2.csv");
                } catch (FileNotFoundException ex) {
        Logger.getLogger(PréProcessamento.class.getName()).log(Level.SEVERE, null, ex);
    }
    
    
    
    consumoin = new BufferedReader(consumo);
  
    boolean controle = consumoin.ready();
    pessoain = new BufferedReader(pessoas);
    
    
    try {
        processado = new BufferedWriter(new  FileWriter("D:/BasesStataFINAL/processado.csv"));
    } catch (IOException ex) {
        Logger.getLogger(PréProcessamento.class.getName()).log(Level.SEVERE, null, ex);
    }
    
    String dummies = "cons_celular. val_cons_celular ,cons_telfixo, val_cons_telfixo,cons_shows, val_cons_shows,cons_dvd, val_cons_dvd,cons_internet, val_cons_internet, cons_cinema, val_cons_cinema";
    int i = 0;
    
    
        while ((linhapessoa = pessoain.readLine())!= null)
        {
            splitlinhapessoa = linhapessoa.split(",");
            String pessoaId = null;
            
            pessoaId = splitlinhapessoa[0] ;
            //pessoaId = pessoaId.substring(3);
            float Idp = Float.parseFloat(pessoaId);
            
            String  domclId = null;
            domclId = splitlinhapessoa[1];
            
            float Iddc = Float.parseFloat(domclId);
            //domclId = domclId.substring(3);
            
            while ((linhaconsumo = consumoin.readLine())!= null)
            {
             splitlinhaconsumo = null;
             splitlinhaconsumo = linhaconsumo.split(",");
             con_pessoaId = null;
             con_domclId = null;
             con_pessoaId = splitlinhaconsumo[14];
             //con_pessoaId = con_pessoaId.substring(2);
             float concpId = Float.parseFloat(con_pessoaId);
             con_domclId = splitlinhaconsumo[13];
             //con_domclId = con_domclId.substring(2);
            
             
            float condmId = Float.parseFloat(con_domclId);
             
            processado.write("comparando " + domclId + " com " + con_domclId);
            processado.newLine();
            processado.write("comparando pessoa " + pessoaId + " com " + con_pessoaId);
            processado.newLine();
             
            // if (pessoaId.equals(con_pessoaId))
            if (concpId == Idp)
             {
            processado.write("comparando pessoa dentro do laço pessoa " + pessoaId + " com " + con_pessoaId);
            processado.newLine();
            
                if ((("6".equals(splitlinhaconsumo[9])) &&  ("801".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1101".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1301".equals(splitlinhaconsumo[10])))|
                   (("28".equals(splitlinhaconsumo[9])) &&  ("2401".equals(splitlinhaconsumo[10])))|
                   (("28".equals(splitlinhaconsumo[9])) &&  ("2402".equals(splitlinhaconsumo[10]))))
                   {cons_celular = "1"; val_cons_celular = splitlinhaconsumo[11];}
                
                if ((("6".equals(splitlinhaconsumo[9])) &&  ("801".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("901".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1101".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1401".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("401".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("501".equals(splitlinhaconsumo[10]))))
                   {cons_telfixo = "1"; val_cons_telfixo = splitlinhaconsumo[11];}
                     
                if (("28".equals(splitlinhaconsumo[9])) &&  ("1101".equals(splitlinhaconsumo[10])))
                {
                cons_shows = "1"; val_cons_shows = splitlinhaconsumo[11];
                }
                
                if ((("13".equals(splitlinhaconsumo[9])) &&  ("1701".equals(splitlinhaconsumo[10])))|
                   (("15".equals(splitlinhaconsumo[9])) &&  ("2701".equals(splitlinhaconsumo[10])))|
                   (("28".equals(splitlinhaconsumo[9])) &&  ("5701".equals(splitlinhaconsumo[10])))|
                   (("28".equals(splitlinhaconsumo[9])) &&  ("2601".equals(splitlinhaconsumo[10])))|
                   (("28".equals(splitlinhaconsumo[9])) &&  ("901".equals(splitlinhaconsumo[10]))))                      
                   {cons_dvd = "1"; val_cons_dvd = splitlinhaconsumo[11]; }
                
                 if ((("6".equals(splitlinhaconsumo[9])) && ("502".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("503".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("504".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("505".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("506".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("801".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("901".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1001".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1301".equals(splitlinhaconsumo[10])))|
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1401".equals(splitlinhaconsumo[10]))))                      
                   {cons_internet = "1"; val_cons_internet = splitlinhaconsumo[11];  }
                 
                 if (("28".equals(splitlinhaconsumo[9])) && ("101".equals(splitlinhaconsumo[10])))
                 {cons_cinema = "1"; val_cons_cinema = splitlinhaconsumo[11];  }
                 
                 
                
                 
            linhasaida = linhapessoa + ","  + cons_celular + "," + val_cons_celular + "," + cons_telfixo+ "," + val_cons_telfixo +
                 "," + cons_shows + "," + val_cons_shows + "," +  cons_dvd + "," + val_cons_dvd + "," + cons_internet + "," + val_cons_internet
                         + "," + cons_cinema + "," + val_cons_cinema;
                
            write = true;
                 
            }else
            {
            write = false;
            }
            
            //if (domclId.equals(con_domclId))
             if (condmId == Iddc)
             {
                 
            processado.write("comparando dentro do laço domicilio " + domclId + " com " + con_domclId);
            processado.newLine();
                if ((("6".equals(splitlinhaconsumo[9])) &&  ("801".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1101".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1301".equals(splitlinhaconsumo[10])))||
                   (("28".equals(splitlinhaconsumo[9])) &&  ("2401".equals(splitlinhaconsumo[10])))||
                   (("28".equals(splitlinhaconsumo[9])) &&  ("2402".equals(splitlinhaconsumo[10]))))
                   {cons_celular = "1"; val_cons_celular = splitlinhaconsumo[11];}
                
                if ((("6".equals(splitlinhaconsumo[9])) &&  ("801".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("901".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1101".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1401".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("401".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("501".equals(splitlinhaconsumo[10]))))
                   {cons_telfixo = "1"; val_cons_telfixo = splitlinhaconsumo[11];}
                     
                if (("28".equals(splitlinhaconsumo[9])) &&  ("1101".equals(splitlinhaconsumo[10])))
                {
                cons_shows = "1"; val_cons_shows = splitlinhaconsumo[11];
                }
                
                if ((("13".equals(splitlinhaconsumo[9])) &&  ("1701".equals(splitlinhaconsumo[10])))||
                   (("15".equals(splitlinhaconsumo[9])) &&  ("2701".equals(splitlinhaconsumo[10])))||
                   (("28".equals(splitlinhaconsumo[9])) &&  ("5701".equals(splitlinhaconsumo[10])))||
                   (("28".equals(splitlinhaconsumo[9])) &&  ("2601".equals(splitlinhaconsumo[10])))||
                   (("28".equals(splitlinhaconsumo[9])) &&  ("901".equals(splitlinhaconsumo[10]))))                      
                   {cons_dvd = "1"; val_cons_dvd = splitlinhaconsumo[11]; }
                
                 if ((("6".equals(splitlinhaconsumo[9])) && ("502".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("503".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("504".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("505".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("506".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("801".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("901".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1001".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1301".equals(splitlinhaconsumo[10])))||
                   (("6".equals(splitlinhaconsumo[9])) &&  ("1401".equals(splitlinhaconsumo[10]))))                      
                   {cons_internet = "1"; val_cons_internet = splitlinhaconsumo[11];  }
                 
                 if (("28".equals(splitlinhaconsumo[9])) && ("101".equals(splitlinhaconsumo[10])))
                 {cons_cinema = "1"; val_cons_cinema = splitlinhaconsumo[11];  }
                 
                 linhasaida = linhapessoa + ","  + cons_celular + "," + val_cons_celular + "," + cons_telfixo+ "," + val_cons_telfixo +
                 "," + cons_shows + "," + val_cons_shows + "," +  cons_dvd + "," + val_cons_dvd + "," + cons_internet + "," + val_cons_internet
                         + "," + cons_cinema + "," + val_cons_cinema;
                
             write = true;
             }else
            {
            write = false;
            }
            
           
               
            }
            
            
            
            
              
        }
        
        processado.close();
        consumoin.close();
        pessoain.close();
          }
            
       
        
        }
    
        
    Porém ele não está  executando todos os laços necessários. alguma dica? O arquivo testeconsumo possui 197.980 Kb e o testepessoa2 tem 3.282 kb.

Não manjo de datasciencee, mas ficou muito vago, oque seriam essas chaves? Qual o arquivo em questão? Basicamente tem que ler dois arquivos e comparar se eles possuem chaves iguais, caso sim, correr o arquivo de consumo e marcar algumas variáveis com 1?
O que seria o correr o arquivo de consumo exatamente?