public List <Tupla> leerLista(Tabla tabla, ComparadorTuplas comparador) { FileStream archivo = null; //archivos.TryGetValue(tabla.getArchivo(), out archivo); archivo = new FileStream(tabla.getArchivo(), FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite); IFormatter formatter = new BinaryFormatter(); List <Tupla> lista = new List <Tupla>(); while (archivo.Position < archivo.Length) { //Tupla aux = (Tupla)formatter.Deserialize(archivo); Tupla aux = leerYavanzar(archivo, tabla); if (aux != null && comparador(aux)) { lista.Add(aux); } } archivo.Close(); //archivo.Position = 0; return(lista); }
public Tupla buscar(Tabla tabla, ComparadorTuplas comparador) { FileStream archivo = null; //archivos.TryGetValue(tabla.getArchivo(), out archivo); archivo = new FileStream(tabla.getArchivo(), FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite); IFormatter formatter = new BinaryFormatter(); bool encontre = false; Tupla tupla = null; while (archivo.Position < archivo.Length && !encontre) { //Tupla aux = (Tupla)formatter.Deserialize(archivo); Tupla aux = leerYavanzar(archivo, tabla); if (aux != null && comparador(aux)) { tupla = aux; encontre = true; } } archivo.Close(); //archivo.Position = 0; return(tupla); }