上面有哪些缺陷和不规范的?
现在报错  值对于UInt32太大或太小

解决方案 »

  1.   

    int lr=Convert.ToInt32(sr.Length);
      

  2.   

    FileStream sr=new FileStream(@"c:\ndpsetup.ico",FileMode.Open);
    int lr=Convert.ToInt32(sr.Length);
    Byte[] br=new byte[lr];
    sr.Read(br,0,lr);
    for (int i=0;i<lr;i++)
    {
    label1.Text+=Convert.ToString(br[i],16);
    }
    sr.Close(); FileStream sw = new FileStream(@"c:\ss.dfg",FileMode.Create);
    BinaryWriter swb = new BinaryWriter(sw);
    byte[] by_write = Encoding.ASCII.GetBytes(this.label1.Text);
    swb.Write(by_write);

    swb.Close();
    sw.Close();
      

  3.   

    wgclyjinjin(软件毛毛虫) 运行有没有问题阿?我测试怎么不行呢
    文件大小发生变化
    原来是1.05K
    现在为1.64K
    文件也不能打开
    我看了一下内容,象是后来写的时候写成了文本文件
      

  4.   

    private void button1_Click(object sender, System.EventArgs e)
    {
      FileStream sr=new FileStream(@"c:\temp\count.gif",FileMode.Open);
      int lr=Convert.ToInt32(sr.Length);
      Byte[] br=new byte[lr];
      sr.Read(br,0,lr);
      string str = "";
      for (int i=0;i<lr;i++)
        str += string.Format( "{0:X2}", br[i] );
      textBox1.Text = str;
      sr.Close();  FileStream sw = new FileStream(@"c:\temp\ss.gif",FileMode.Create);
      BinaryWriter swb = new BinaryWriter(sw);
      byte[] by_write = new byte[lr];
      for( int i = 0; i < lr; i++ )
      {
        string s = str.Substring( i*2, 2 );
        by_write[i] = (byte)Convert.ToInt32(s,16);
      }
      swb.Write(by_write);

      swb.Close();
      sw.Close();
    }//测试通过
      

  5.   

    不好意思,再问问
    我是半路出家,对这些内部的东西很缺乏
    能不能解释一下原来代码的错误是和对应解决,就是字节和进制方面的东西?=========================================
    string.Format( "{0:X2}", br[i] )string s = str.Substring( i*2, 2 );
    by_write[i] = (byte)Convert.ToInt32(s,16);