internal StoreFileStream(string path, string mode)
{
try
{
_stream = Task.Run(async () =>
{
StorageFile file;
if (mode.Equals("rw", StringComparison.OrdinalIgnoreCase))
{
file =
await
StorageFile.CreateStreamedFileFromUriAsync(Path.GetFileName(path), new Uri(path),
null);
}
else if (mode.Equals("r", StringComparison.OrdinalIgnoreCase))
{
file = await StorageFile.GetFileFromPathAsync(path);
}
else
{
throw new ArgumentOutOfRangeException("mode", "Only modes r and rw are supported.");
}
return await file.OpenAsync(FileAccessMode.ReadWrite);
}).Result;
_disposed = false;
Name = path;
}
catch
{
_stream = null;
_disposed = true;
Name = String.Empty;
}
}