使用CreateFileAsync / WriteTextASync,如何确定文件是否已在使用中

时间:2013-07-11 15:25:53

标签: c# .net file-io asynchronous windows-runtime

public async void SaveQueue()
{
        _filedata = JsonConvert.SerializeObject(Queue);
        StorageFile sessionFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("Queue.txt", CreationCollisionOption.ReplaceExisting);
        await FileIO.WriteTextAsync(sessionFile, _filedata);
}

首先,我将序列化一个队列,然后尝试将其保存到名为Queue.txt的文件中。

但是,如果我很快调用SaveQueue(),我会得到一个“正在使用的文件”异常。有没有办法检查文件当前是否正在写入?

谢谢!

1 个答案:

答案 0 :(得分:1)

目前还没有在WinRT中检查此方法的方法。解决方法是将这些行包装在try / catch中,在catch子句中,对“正在使用的文件”进行处理。