+ -
当前位置:首页 → 问答吧 → C#文件的读取

C#文件的读取

时间:2011-12-05

来源:互联网

在一个文件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();

作者: tang2du   发布时间: 2011-12-05

不用搞的这么麻烦,直接seek就行了。

作者: Tsapi   发布时间: 2011-12-05