size = fs.Read(dataBytes,0,256);
while(size>0)
{
 send(buf); 
 size = fs.Read(dataBytes,0,256); //重复读。
}

解决方案 »

  1.   

    int i=0;
    while(size>0)
    {
     send(buf); 
     size = fs.Read(dataBytes,i,256); //重复读。
     i+=256;//不会冲掉
    }
      

  2.   

    int SizeBuff=256;
    Stream inputStream = File.OpenRead();
    //写文件
    Stream outputStream=File.OpenWrite();
    byte[] buffer=new Byte[SizeBuff];
    int bytesRead;
    while ((bytesRead=inputStream.Read(buffer,0,SizeBuff))>0)
    {
    outputStream.Write(buffer,0,bytesRead);
    }
    inputStream.Close();
    outputStream.Close();
      

  3.   

    谢谢,我忘了一件很重要的事了,
    每次我读的时候,我需要知道,buf的大小,以便于发送。
    也就是说,当读到的值小于256时,dataBytes的的大小也要做
    相应的改变,要不然里面有很多空字符,该如何?
    size = fs.Read(dataBytes,0,256);
    int i=0;
    while(size>0)
    {
     if(size<256)
     {
      
     }
     send(dataBytes); 
     size = fs.Read(dataBytes,i,256); //重复读。
     i+=256;
    }