在一个文件binary.txt中,在这个循环中,红色字体部分,是想在上次读取binary文件的基础上,读取上次读取的下一个字符,每次读取的8个字符都存于str这个字符数组中,这样实现不对呀,麻烦高手指教。
            StreamReader sr = new StreamReader("d:\\binary.txt");
            StreamWriter sw = new StreamWriter("d:\\compress.txt");
            char[] str=new char [9];
            str[8]='\0';
            int c=0,loop=0,m=0;
            int zero = 0;
            char ch;
            for (int k = 0; k < 8; k++)
            {
                str[k] = (char )sr.Read();
             }
            while (sr.Read() != -1)
            {
                c = 0;
                for (int i = 0; i < 8; i++)
                {
                    if (str[i] != '0')
                        c = c + (int)((str[i] - '0') * Math.Pow(2, 8 - 1 - i));
                }
                ch = (char)c;
                sw.Write(ch.ToString ());
                Console.WriteLine(ch);
                if (str[8] == '0')
                    break;
                for (int k = 0; k < 8; k++)
                {
                    str[k] = (char )sr.Read();
                    if(sr.Read ()==-1)
                    {
                        for(int j=k;j<9;j++)
                            str [j]='0';
                        zero=8-k;
                        break ;
                    }
                    else 
                        str[k] = (char )sr.Read();
                }
            }
            sw.Close();
            sr.Close();