Beispiel #1
0
        static void Main(string[] args)
        {
            Compresion huffman = new Compresion();

            //Console.WriteLine("Ingrese texto a comprimir ");


            huffman.Comprimir("cuento.txt", "compresion.txt", "cuento", "factorescompresion.txt");
            huffman.Descomprimir("compresion.txt", "descompresion.txt");
        }
        /// <summary>
        /// Metodo para la compresion de huffman Correctamente
        /// </summary>
        /// <param name="ArchivoEntrada">Archivo a comprimir ingresado desde la API</param>
        /// <param name="Path1">Ruta del donde se escribira el archivo</param>
        /// <param name="NuevoNombre">Nuevo nombre del archivo</param>
        public void ProcesoCompresionHuffman(IFormFile ArchivoEntrada, string Path1, string NuevoNombre)
        {
            string ArchivoAString = EspaciosInnecesarios(ArchivoEntrada);

            byte[] ArchivoAByte        = Encoding.ASCII.GetBytes(ArchivoAString);
            byte[] ArchivoCompresoHuff = Compresion.CompresionCompleta(ArchivoAByte);
            var    RutaArchivo         = Path.Combine(Path1, NuevoNombre + ".huff");

            NombreArchivoAComprimir = ArchivoEntrada.FileName.ToString();//captura nombre del archivo antes de ser comprimido
            File.WriteAllBytes(RutaArchivo, ArchivoCompresoHuff);
        }
Beispiel #3
0
        public void Post([FromForm(Name = "file")] IFormFile file, string name)
        {
            var        resultado    = new StringBuilder();
            Compresion comprimiendo = new Compresion();

            using (var reader = new StreamReader(file.OpenReadStream()))
            {
                while (reader.Peek() >= 0)
                {
                    resultado.AppendLine(reader.ReadLine());
                }
            }
            byte[] textoEnBytes = Encoding.UTF8.GetBytes(resultado.ToString());
        }
Beispiel #4
0
 private void ProcessRequest(IMessage message, ITransportHeaders headers, ref Stream stream, ref object state)
 {
     state = true;
     if (headers != null)
     {
         //Comprimir peticion
         Compresion compresor  = new Compresion(stream, m_CompressionMethod);
         Stream     comprimido = compresor.ToStream;
         if (comprimido != null)
         {
             if (comprimido.Length < stream.Length)
             {
                 headers["edonkeyCompress"]  = "Yes";
                 headers["TamañoComprimido"] = comprimido.Length;
                 headers["Tamaño"]           = stream.Length;
                 headers["CompressionType"]  = (int)compresor.CompressionProvider;
                 stream = comprimido;
             }
         }
     }
 }
Beispiel #5
0
        private void ProcessResponse(IMessage message, ITransportHeaders headers, ref Stream stream, object state)
        {
            if (state != null)
            {
                if (headers!=null)
                {
                    //Comprimir y marcar la cabecera.
                    Compresion compresor=new Compresion(stream, m_CompressionMethod  );
                    Stream comprimido=compresor.ToStream;
                    if (comprimido != null)
                    {
                        if (comprimido.Length < stream.Length)
                        {
                            headers["edonkeyCompress"] = "Yes";
                            headers["TamañoComprimido"] = comprimido.Length;
                            headers["Tamaño"] = stream.Length;
                            headers["CompressionType"]=(int)compresor.CompressionProvider;
                            stream = comprimido;
                        }
                    }

                }
            }
        }
Beispiel #6
0
        private void ProcessRequest(IMessage message, ITransportHeaders headers, ref Stream stream, ref object state)
        {
            state = true;
            if (headers!=null)
            {
                //Comprimir peticion
                Compresion compresor=new Compresion(stream,  m_CompressionMethod  );
                Stream comprimido=compresor.ToStream;
                if (comprimido != null)
                {
                    if (comprimido.Length < stream.Length)
                    {
                        headers["edonkeyCompress"] = "Yes";
                        headers["TamañoComprimido"]=comprimido.Length;
                        headers["Tamaño"]=stream.Length;
                        headers["CompressionType"]= (int)compresor.CompressionProvider;
                        stream=comprimido;
                    }
                }

            }
        }