public NodoArbol leeDatosNoraiz(long dir, int ta) { NodoArbol regresa = new NodoArbol('H', dir, 5, ta); char[] nuevo; regresa.Apuntadores1.RemoveAt(0); using (archivo = new FileStream(nombreArch, FileMode.Open)) { String cadena = ""; archivo.Position = dir; using (BinaryReader rw = new BinaryReader(archivo)) { regresa.Tipo = rw.ReadChar(); regresa.DirNodo1 = rw.ReadInt64(); regresa.Apuntadores1.Add(rw.ReadInt64()); for (int i = 0; i < 4; i++) { nuevo = new char[ta]; nuevo = rw.ReadChars(ta); for (int j = 0; j < ta; j++) { cadena += nuevo[j]; } regresa.Claves.Add(cadena.Replace(" ", "")); regresa.Apuntadores1.Add(rw.ReadInt64()); cadena = ""; } } } archivo.Close(); for (int i = 0; i < regresa.Claves.Count; i++) { regresa.Claves[i] = regresa.Claves[i].Replace("\0", ""); } int cnt = 5; for (int i = 0; i < regresa.Apuntadores1.Count; i++) { if (regresa.Apuntadores1[i] < -2) { cnt = i; break; } } for (int i = 0; cnt < regresa.Apuntadores1.Count - 1; i++) { regresa.Apuntadores1.RemoveAt(cnt); } regresa.Claves.Remove(""); regresa.Claves.Remove("����"); regresa.Claves.Remove("����"); regresa.Claves.Remove("����"); regresa.Claves.Remove("����"); if (regresa.Tipo == 'I') { for (int i = 0; i < regresa.Apuntadores1.Count; i++) { Nodos.Add(leeDatosNoraiz(regresa.Apuntadores1[i], ta)); } } dirActual = dir + tamañoNodo; return(regresa); }