Immer einen Stream aus einer Ressource-Datei / Inhalt

Ist dies der richtige/einzige Weg, um eine Stream aus einer Ressource Datei?

    Uri uri = new Uri(fullPath);

    StorageFile storageFile = 
      await Windows.Storage.StorageFile.
        GetFileFromApplicationUriAsync(uri);

    IRandomAccessStreamWithContentType randomAccessStream = 
      await storageFile.OpenReadAsync();

    IInputStream resourceStream = (IInputStream)
      randomAccessStream.GetInputStreamAt(0);

Alle meine anderen Quellen (http und lokaler Speicher) zurück, ein Stream-Objekt, und es ist schmerzhaft zu haben, um if-else-code, der verwendet eine oder das andere.

Habe ich auch versucht, erstellen Sie einfach einen MemoryStream aus, aber ich kann auch nicht finden, einen Weg, um die bytes aus... Bitte um Hilfe.

    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() beim Lesen aus der Ressource:
http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.streams.iinputstream.readasync.aspx

während Stream.Read() und Stream.ReadAsync() wie folgt Aussehen:

http://msdn.microsoft.com/en-us/library/system.io.stream.read.aspx

und

http://msdn.microsoft.com/en-us/library/hh137813.aspx

Dank

InformationsquelleAutor swinefeaster | 2012-12-13

Schreibe einen Kommentar