代码如下:
private void Button1_Click(object sender, EventArgs e)
{
int i = 0;
IAsyncResult asyncResult = file.BeginGetStream(async a =>
{
Stream stream = file.EndGetStream(a);
FileStream fileStream = File.OpenWrite(DateTime.Now.ToString(“HHmmss”) + “123.zip”);
await stream.CopyToAsync(fileStream);
fileStream.Close();
stream.Close();
label1.Invoke(new MethodInvoker(() => { label1.Text = “下载成功”; }));
MessageBox.Show(DateTime.Now.ToString());
}, i);
string ss = talk.GetString();
MessageBox.Show(ss);
}
如果 stream.CopyToAsync(fileStream);前面不用await 流关闭时会直接报错,如果 fileStream 被Using包括 会导致 创建的文件0kb,如果 采用stream.FlushAsync() 这种方式 创建的文件 会一直被程序占用。文件无法打开或删除。