程序写清楚一点:NetworkStream myStream= new NetworkStream(newSock);
byte[] fileBuffer = new Byte[filesize];
myStream.Read(fileBuffer,0,fileBuffer.Length);
FileStream savefileStream = new FileStream saveFileDialog.FileName,FileMode.OpenOrCreate);
savefileStream.Write(fileBuffer,0,fileBuffer.Length);
byte[] fileBuffer = new Byte[filesize];
myStream.Read(fileBuffer,0,fileBuffer.Length);
FileStream savefileStream = new FileStream saveFileDialog.FileName,FileMode.OpenOrCreate);
savefileStream.Write(fileBuffer,0,fileBuffer.Length);
if(saveFileDialog.ShowDialog() == DialogResult.OK)
{
FileName=saveFileDialog.FileName;
if(FileName!= "")
{
int fbytes=Convert.ToInt32(ChatInfo[3]);
progressBar1.Maximum=fbytes;
progressBar1.Minimum=1;
progressBar1.Step=1;
panelProgress.Visible=true;
NetworkStream myStream= new NetworkStream(newSock);
// initializes and assigns the ReadBuffer with the
// length of the file
// Creates a new object for fileStream with File open mode
byte[] mbyte = new Byte[fbytes];
int startmbyte = 0;
while(fbytes>0)
{
myStream.Read(mbyte,startmbyte,32);
startmbyte+=32;
fbytes-=32;
progressBar1.Value+=32;
}
FileStream fstrm = new FileStream(FileName,FileMode.OpenOrCreate,FileAccess.Write);
fstrm.Write(mbyte,0,startmbyte);
myStream.Close();
fstrm.Close();
progressBar1.Value=progressBar1.Maximum;
panelProgress.Visible=false;
}
}
监视网络流的position旧可以了,