1
什么是读取amnd写入和IO.Stream(Zip文件从Internet上downloded到我的情况)到ApplicationData.Current.LocalFolder写入(读取)IO.Stream到(从)ApplicationData.Current.LocalFolder
我试图
public static async Task WriteToFile(
this System.IO.Stream input,
string fileName,
StorageFolder folder = null)
{
folder = folder ?? ApplicationData.Current.LocalFolder;
var file = await folder.CreateFileAsync(
fileName,
CreationCollisionOption.ReplaceExisting);
using (var fs = await file.OpenAsync(FileAccessMode.ReadWrite))
{
using (var outStream = fs.GetOutputStreamAt(0))
{
using (var dataWriter = new DataWriter(outStream))
{
byte[] buffer = new byte[8 * 1024];
int len;
while ((len = input.Read(buffer, 0, buffer.Length)) > 0)
{
dataWriter.WriteBytes(buffer);
}
await dataWriter.StoreAsync();
dataWriter.DetachStream();
}
await outStream.FlushAsync();
}
}
}
写作和
StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync(filename);
var fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
var stream = fileStream.AsStreamForRead();
但文件被损坏沿way.I地方做没想到有一个与阅读的问题,所以应该以书面日在某处e文件。有没有更好的方法来编写IO.Stream到ApplicationData.Current.LocalFolder的工作?
为什么在这里有这么多的异步? – 2012-04-26 10:09:37
@AndrewBarber,因为这是在WinRT中做事的新方式? – jv42 2012-04-27 07:17:33
@AndrewBarber每个可能需要超过50毫秒的操作都必须完成异步 – 2012-04-27 09:34:50