コード例 #1
0
ファイル: Program.cs プロジェクト: KevinRomero3100/LAB-4--ED2
        static void Main(string[] args)
        {
            Console.WriteLine("\t\t\t\t\t\t\t- LAB 4 -\n\nKevin Romero 1047519\nJosé De León 1072619");
            LZW lzw = new LZW();

            string original = "Tu trabajo va a llenar gran parte de tu vida, la única manera de estar realmente satisfecho es hacer lo que creas es un gran trabajo y la única manera de hacerlo es amar lo que haces. Si no lo has encontrado aún, sigue buscando. Como con todo lo que tiene que ver con el corazón, sabrás cuando lo hayas encontrado. -Steve Jobs";

            Console.WriteLine("\n\nTEXTO ORIGINAL          \n" + original);

            byte[] compression_result = lzw.EncodeData(ConvertToByte(original));
            Console.WriteLine("\n\nTEXTO COMPRIMIDO");
            Console.WriteLine(ConvertToChar(compression_result));

            double compression_factor   = lzw.CompressionFactor();
            double compression_ratio    = lzw.CompressionRatio();
            double reduction_percentage = lzw.ReductionPercentage();


            lzw = new LZW();
            byte[] descompression_result = lzw.DecodeData(compression_result);
            Console.WriteLine("\n\nTEXTO DESCOMPRIMIDO");
            Console.WriteLine(ConvertToChar(descompression_result));

            Console.WriteLine("\n\n\t\tFACTOR DE COMPRESIÓN\t\tRAZÓN DE COMPRESIÓN\t\tPORCENTAJE DE REDUCCIÓN");
            Console.WriteLine("\t\t" + compression_factor + "\t\t" + compression_ratio + "\t\t" + reduction_percentage);


            Console.ReadLine();
        }
コード例 #2
0
        public void DecompressFile(string path, string file_name)
        {
            LZW lzw = new LZW();

            byte[] buffer;


            using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate))
            {
                buffer = new byte[fs.Length];
                using (var br = new BinaryReader(fs))
                {
                    br.Read(buffer, 0, buffer.Length);
                }
            }
            lzw = new LZW();
            byte[] result = lzw.DecodeData(buffer);

            string[] path_result = path.Split("Data");
            string   file_path   = path_result[0] + $"\\Data\\decompressions\\{file_name}";

            using (var fs = new FileStream(file_path, FileMode.OpenOrCreate))
            {
                fs.Write(result, 0, result.Length);
            }
        }
コード例 #3
0
        public string DecompressFile(FileModel file)
        {
            LZW         lzw  = new LZW();
            List <byte> temp = new List <byte>();

            byte[] buffer;
            byte[] getoriginalName = new byte[200];
            string file_name;

            using (FileStream fs = new FileStream(file.AbsolutePhat, FileMode.OpenOrCreate))
            {
                buffer = new byte[fs.Length];
                using (var br = new BinaryReader(fs))
                {
                    br.Read(buffer, 0, buffer.Length);
                }
            }
            temp = buffer.ToList();
            for (int i = 0; i < getoriginalName.Length; i++)
            {
                getoriginalName[i] = temp[0];
                temp.RemoveAt(0);
            }
            buffer = temp.ToArray();
            var split = Encoding.ASCII.GetString(getoriginalName).Split(".");

            file_name = file.OriginalFileName;
            byte[] result    = lzw.DecodeData(buffer);
            string file_path = file.AbsolutePhat.Split("Data")[0] + $"Data\\decompressions\\{file_name}";

            using (var fs = new FileStream(file_path, FileMode.OpenOrCreate))
            {
                fs.Write(result, 0, result.Length);
            }

            return(file_name);
        }