有button1,当点击时,文件的并行处理应该开始。编码:
private async void button1_ClickAsync(object sender, EventArgs e)
{
for (int i = 0; i < paths.Count; i++)
{
await Processing(paths[i]);
}
}
方法本身:
public async Task Processing(string path)
{
byte[] newFile; //Переменная для записи нового файла
using (FileStream f = File.OpenRead(path))
{
byte[] openFile = new byte[f.Length];
await f.ReadAsync(openFile, 0, openFile.Length);
//Обработка файла, в ней же и записываются значения в newFile
}
File.Delete(path); //Можно вместо этого изменить FileMode в следующей строке, но пока что не до этого
using (FileStream f = new FileStream(path, FileMode.Create))
{
await f.WriteAsync(newFile, 0, newFile.Length);
}
processed++;
label10.Text = "Обработано файлов: " + processed;
}
处理多个文件并保存空文件。感觉文件没有被正确读取或被错误地写入。我是在并行执行方法还是在方法本身的异步中执行这些方法是错误的吗?谢谢你。