在window8.1的开发中,许多功能都变成异步执行,比如文件的读写就是这样实现的,那么如何得知读写操作是否执行完呢?
话不多说,直接上码
1.文件写入
private async Task<bool> write()
{
//正常的文件写入
...
return true;
}
2.文件读取
private async Task<bool> read()
{
//正常读取
...
return true;
}
哈哈,这样既可以避开异步执行给我们带来的困扰了
具体调用是这样的
bool writeend=await write();
if (writeend)
{
//文件读取完毕
}
bool readend=await read();
if (readend)
{
//文件读取完毕
}
实例:
private async Task<string> readfile(string filename)
{
ApplicationData.Current.LocalFolder;//获取文件夹路径
try
{
StorageFile storagefile = await storagefolder .GetFileAsync(filename);
using (IRandomAccessStream rStream = await storagefile.OpenAsync(Windows.Storage.FileAccessMode.Read))
using (StreamReader streamreader = new StreamReader(rStream.AsStream(), Encoding.UTF8))
{
return streamreader.ReadToEnd();
}
}
catch (FileNotFoundException)
{
//异常处理
}
return string.Empty;
}
string readvalue = await readfile("Me.txt");