Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.eda.practica03.ejercicio02;
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.PrintWriter;
- import java.util.Iterator;
- import java.util.Map.Entry;
- import java.util.StringTokenizer;
- import java.util.TreeMap;
- import java.util.TreeSet;
- public class ProcesarDatos {
- private TreeMap<Integer,TreeMap<Integer,TreeSet<Integer>>> evaluaciones;
- public void cargarArchivo(String stringArchivoEntrada) {
- this.evaluaciones=new TreeMap<Integer,TreeMap<Integer,TreeSet<Integer>>>();
- File archivo=null;
- FileReader fr=null;
- BufferedReader br=null;
- try{
- archivo=new File(stringArchivoEntrada);
- fr=new FileReader(archivo);
- br=new BufferedReader(fr);
- String linea;
- while((linea=br.readLine())!=null){
- StringTokenizer token=new StringTokenizer(linea);
- Integer paciente=Integer.parseInt(token.nextToken());
- Integer dias=Integer.parseInt(token.nextToken());
- token.nextToken();
- for(int i=0; i<6; i++){
- Integer evaluacion= Integer.parseInt(token.nextToken());
- Integer indice=(i*5)+evaluacion;
- if(this.evaluaciones.get(indice)==null){
- this.evaluaciones.put(indice,new TreeMap<Integer,TreeSet<Integer>>());
- this.evaluaciones.get(indice).put(paciente,new TreeSet<Integer>());
- this.evaluaciones.get(indice).get(paciente).add(dias);
- }else{
- if(this.evaluaciones.get(indice).get(paciente)==null){
- this.evaluaciones.get(indice).put(paciente, new TreeSet<Integer>());
- this.evaluaciones.get(indice).get(paciente).add(dias);
- }else{
- this.evaluaciones.get(indice).get(paciente).add(dias);
- }
- }
- }
- }
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- public int tamano() {
- return this.evaluaciones.size();
- }
- public void generarArchivoSalida(int freqMin, String archivoSalida) {
- File archivo=null;
- FileWriter fw=null;
- PrintWriter pw=null;
- try{
- archivo=new File(archivoSalida);
- fw=new FileWriter(archivo);
- pw=new PrintWriter(fw);
- String[] tipoiosf={"Resp","Coag","Hepa","Cardio","SNC","Ren"};
- String resultados="";
- for (Iterator <Entry<Integer,TreeMap<Integer,TreeSet<Integer>>>> iterator = this.evaluaciones.entrySet().iterator(); iterator.hasNext();) {
- Entry<Integer,TreeMap<Integer,TreeSet<Integer>>> e=iterator.next();
- if (e.getValue().size()>= freqMin){
- int iosf=e.getKey()/5;
- int valor=e.getKey()%5;
- resultados=resultados+tipoiosf[iosf]+" = "+valor+" | {";
- int i=0;
- for (Iterator<Entry<Integer,TreeSet<Integer>>> iterator2 = e.getValue().entrySet().iterator(); iterator2.hasNext();) {
- Entry<Integer,TreeSet<Integer>> paciente=iterator2.next();
- if(i>0){
- resultados=resultados+", ";
- resultados=resultados+""+paciente.getKey()+" = ";
- String resultado="[";
- Iterator<Integer> it=paciente.getValue().iterator();
- if(!it.hasNext()) resultado="{}";
- resultado=resultado+it.next();
- while(it.hasNext()){
- resultado=resultado+", "+it.next();
- }
- resultado=resultado+"]";
- resultados=resultados+resultado;
- i++;
- }
- }
- resultados=resultados+"}\n";
- }
- }
- pw.print(resultados);
- pw.close();
- }catch(Exception e){
- e.printStackTrace();
- }finally{
- try{
- if(null!=fw){
- fw.close();
- }
- }catch(Exception e2){
- e2.printStackTrace();
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment