コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }