Получение потока из файла ресурсов / содержимого
Является ли это правильным / единственным способом получения потока из файла ресурсов?
Uri uri = new Uri(fullPath);
StorageFile storageFile =
await Windows.Storage.StorageFile.
GetFileFromApplicationUriAsync(uri);
IRandomAccessStreamWithContentType randomAccessStream =
await storageFile.OpenReadAsync();
IInputStream resourceStream = (IInputStream)
randomAccessStream.GetInputStreamAt(0);
Все мои другие источники (http и локальное хранилище) возвращают объект Stream, и больно иметь код if-else, который использует один или другой.
Я также пытался просто создать поток памяти из него,но я даже не могу найти способ извлечь байты... Пожалуйста помочь.
uint size = (uint)randomAccessStream.Size;
IBuffer buffer = new Windows.Storage.Streams.Buffer(size);
await randomAccessStream.ReadAsync(buffer, size,
InputStreamOptions.None);
Stream stream = new MemoryStream(buffer); // error takes byte[] not IBuffer
IInputStream.ReadAsync () при чтении из ресурс: http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.streams.iinputstream.readasync.aspx
Пока Поток.Read () и Stream.ReadAsync() выглядит следующим образом:
Http://msdn.microsoft.com/en-us/library/system.io.stream.read.aspx
И
Http://msdn.microsoft.com/en-us/library/hh137813.aspx
Спасибо