public void LecturaArchivo(string ruta, string nombre, string rutaEscritura, int def) //LEE EL ARCHIVO { HuffmanTree.Arbol arbol = new Arbol(); if (def == 0) { using (var stream = new FileStream(ruta, FileMode.Open)) { using (var reader = new BinaryReader(stream)) { var byteBuffer = new byte[bufferLength]; while (reader.BaseStream.Position != reader.BaseStream.Length) { byteBuffer = reader.ReadBytes(bufferLength); } letters = System.Text.Encoding.ASCII.GetString(byteBuffer); } } arbol.EscrituraArchivo(nombre, rutaEscritura, arbol.armarArbol(arbol.ArmarDiccionario(letters), letters), arbol.ArmarDiccionario(letters)); } else if (def == 1) { string[] nuevo = nombre.Split('.'); nuevo[1] = "OUTPUTHUFF.txt"; string[] arreglo = ruta.Split('.'); string RutaOut = arreglo[0] + nuevo[1];//CAMBIAR NOMBRE if (!File.Exists(RutaOut)) { StreamWriter streamWriter = new StreamWriter(RutaOut); streamWriter.WriteLine(arbol.Desifrado(ruta)); streamWriter.Close(); } } else if (def == 2) { using (var stream = new FileStream(ruta, FileMode.Open))//LEER ARCHIVO { using (var reader = new BinaryReader(stream)) { var byteBuffer = new byte[bufferLength]; while (reader.BaseStream.Position != reader.BaseStream.Length) { byteBuffer = reader.ReadBytes(bufferLength); } letters = System.Text.Encoding.ASCII.GetString(byteBuffer); } } string NuevaRuta = ""; string[] Direccion = rutaEscritura.Split('\\'); string[] NuevoNombre = nombre.Split('.'); for (var i = 0; i < Direccion.Length; i++) { NuevaRuta += Direccion[i] + "/"; } NuevaRuta += NuevoNombre[0] + ".LZW"; Compresor.EscrituraLZW(NuevaRuta, letters); } else if (def == 3) { string[] nuevo = nombre.Split('.'); nuevo[1] = "OUTPUTLZW.txt"; string[] arreglo = ruta.Split('.'); string RutaOut = arreglo[0] + nuevo[1];//CAMBIAR NOMBRE if (!File.Exists(RutaOut)) { StreamWriter streamWriter = new StreamWriter(RutaOut); streamWriter.WriteLine(Compresor.Descomprimido(ruta)); streamWriter.Close(); } } }