Ejemplo de código en Java para cargar datos desde archivos.

Anuncio
package utilerias;
import estructura.*;
import java.io.*;
import java.util.*;
public class Carga {
public static Encabezado cargarEncabezado
(String separador, String file, Boolean Id)
throws FileNotFoundException, IOException {
BufferedReader r = new BufferedReader (new FileReader(file));
String registro = r.readLine();
String atributos[] = registro.split(separador);
int n = atributos.length - 1;
List<String> atributos_regulares = new ArrayList<>();
int inicio; if(Id) inicio=1; else inicio = 0;
for (int i=inicio;i<n;i++)
atributos_regulares.add(atributos[i]);
String clase = atributos[n];
Encabezado E = new Encabezado((ArrayList)atributos_regulares, clase);
r.close();
return E;
}
public static Datos cargarDatos
(Encabezado E, String separador, String file, Boolean HasId, Boolean
hasEncabezado)
throws FileNotFoundException, IOException {
BufferedReader r = new BufferedReader (new FileReader(file));
Datos D1 = new Datos(E);
Tupla t;
String registro, categoria_clase;
if(hasEncabezado)
r.readLine();
while((registro = r.readLine()) != null){
String valores[] = registro.split(separador);
int n = valores.length - 1;
int inicio; if(HasId) inicio=1; else inicio = 0;
List<String> valores_regulares = new ArrayList<>();
for (int i=inicio;i<n;i++)
valores_regulares.add(valores[i]);
categoria_clase = valores[n];
t = new Tupla((ArrayList)valores_regulares,categoria_clase);
D1.nuevaTupla(t);
}
return D1;
}
}
package estructura;
import java.util.*;
public final class Datos {
public Encabezado encabezado;
public List<Tupla> tuplas;
public List<CategoriaClase> categoriasClase;
public Datos(Encabezado E){
this.tuplas = new ArrayList<>();
encabezado = E;
categoriasClase = new ArrayList<>();
}
public void nuevaTupla(Tupla t){
tuplas.add(t);
}
public void setCategorias(){
Set<String> etiquetas = new HashSet<>();
CategoriaClase c;
for (Tupla t: tuplas)
etiquetas.add(t.categoriaClase);
for (String e: etiquetas){
c = new CategoriaClase();
c.etiqueta=e;
c.count=0;
categoriasClase.add(c);
}
}
public void cuentaCategorias(){
for (Tupla t: tuplas){
for(CategoriaClase c: categoriasClase)
if((c.etiqueta).equals(t.categoriaClase))
(c.count)++;
}
}
}
package estructura;
import java.util.*;
public class Encabezado {
public List<String> atributos;
public int n; //dimensión
public String clase;
public Encabezado(ArrayList a, String c){
atributos = a;
n=atributos.size();
clase = c;
}
@Override
public String toString(){
String encabezadoString = new String();
for (String Ai : this.atributos)
encabezadoString = encabezadoString.concat(Ai+" ");
encabezadoString = encabezadoString.concat(this.clase);
return (encabezadoString);
}
}
package estructura;
public class CategoriaClase {
public String etiqueta;
public int count;
@Override
public String toString(){
return (etiqueta + ": "+ String.valueOf(count));
}
}
package estructura;
import java.util.*;
public class Tupla {
public List<String> valores;
public String categoriaClase;
public Tupla(ArrayList v, String c){
valores = v;
categoriaClase = c;
}
@Override
public String toString(){
String tuplaString = new String();
for(String v: this.valores)
tuplaString = tuplaString.concat(v+" ");
tuplaString = tuplaString.concat(this.categoriaClase);
return(tuplaString);
}
}
Descargar