Example #1
0
        public void Compress(string inpFile, string outFile)
        {
            var    sr = new StreamReader(inpFile, Encoding.Unicode);
            var    sw = new ArchWriter(outFile); //нужна побитовая запись, поэтому использовать StreamWriter напрямую нельзя
            string line;

            while ((line = sr.ReadLine()) != null)
            {
                foreach (var ch in line)
                {
                    sw.WriteWord(Table[ch]);
                }
                sw.WriteWord(Table['\n']);
            }
            sr.Close();
            sw.WriteWord(Table['\0']); // записываем признак конца файла
            sw.Finish();
        }
Example #2
0
        public void Compress(string inpFile, string outFile)
        {
            var    sr = new StreamReader(inpFile, Encoding.Unicode);
            var    sw = new ArchWriter(outFile); //нужна побитовая запись, поэтому использовать StreamWriter напрямую нельзя
            string line;

            while ((line = sr.ReadLine()) != null)
            {
                // TODO: посимвольно обрабатываем строку, кодируем, пишем в sw
                // ***TODO: убрать эту буферизацию
                foreach (char symbol in line)
                {
                    sw.WriteWord(Table[symbol]);
                }
                sw.WriteWord(Table['\n']);
            }
            sr.Close();
            sw.WriteWord(Table['\0']); // записываем признак конца файла
            sw.Finish();
        }