package com.github.martinprillard.shavadoop.master;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.concurrent.ConcurrentHashMap;
import com.github.martinprillard.shavadoop.util.Constant;
/**
*
* @author martin prillard
*
*/
public class LaunchMergeFile extends Thread {
String file;
ConcurrentHashMap<String, Integer> finalResult;
public LaunchMergeFile(String _file, ConcurrentHashMap<String, Integer> _finalResult) {
file = _file;
finalResult = _finalResult;
}
public void run() {
File f = new File(file);
FileReader fic;
try {
fic = new FileReader(f);
BufferedReader read = new BufferedReader(fic);
String line = null;
// for each lines of the file
while ((line = read.readLine()) != null) {
String words[] = line.split(Constant.SEP_CONTAINS_FILE);
// add each line to our hashmap
String word = words[0];
int counter = Integer.parseInt(words[1]);
if (finalResult.keySet().contains(word)) {
finalResult.put(word, finalResult.get(word) + counter);
} else {
finalResult.put(word, counter);
}
}
fic.close();
read.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}