title | author | description | keywords | dev_langs | ||
---|---|---|---|---|---|---|
Streams Helper |
nmetulev |
There are several operations that apps need commonly to do against their APPX, or from the Internet that are not easy. This helper class wraps up some of the most common operations we need in multiple apps. |
windows 10, uwp, windows community toolkit, uwp community toolkit, uwp toolkit, Streams |
|
There are several operations that apps need commonly to do against their APPX, or from the Internet that are not easy. Streams helper class wraps up some of the most common operations we need in multiple apps.
- Get a stream from a URI using an in memory stream (rather than needing to download it first).
- Download a URI and write it to a local storage file.
- Get a packaged file stream (files included in the APPX as Content - do not copy).
- Does a file exist local folder?
- Read text from a file using ASCII or specified encoding.
Methods | Return Type | Description |
---|---|---|
GetHttpStreamAsync(Uri, CancellationToken) | Task<IRandomAccessStream> | Get the response stream returned by a HTTP get request |
GetHttpStreamToStorageFileAsync(Uri, StorageFile) | Task | Get the response stream returned by a HTTP get request and save it to a local file |
GetKnowFoldersFileStreamAsync(KnownFolderId, String, FileAccessMode) | Task<IRandomAccessStream> | Return a stream to a specified file from the application local cache folder |
GetLocalCacheFileStreamAsync(String, FileAccessMode) | Task<IRandomAccessStream> | Return a stream to a specified file from the application local cache folder |
GetLocalFileStreamAsync(String, FileAccessMode) | Task<IRandomAccessStream> | Return a stream to a specified file from the application local folder |
GetPackagedFileStreamAsync(String, FileAccessMode) | Task<IRandomAccessStream> | Return a stream to a specified file from the installation folder |
IsFileExistsAsync(StorageFolder, String) | Task<bool> | Test if a file exists in the application local folder |
IsKnownFolderFileExistsAsync(KnownFolderId, String) | Task<bool> | Test if a file exists in the application local cache folder |
IsLocalCacheFileExistsAsync(String) | Task<bool> | Test if a file exists in the application local cache folder |
IsLocalFileExistsAsync(String) | Task<bool> | Test if a file exists in the application local folder |
IsPackagedFileExistsAsync(String) | Task<bool> | Test if a file exists in the application installation folder |
ReadTextAsync(IRandomAccessStream, Encoding) | Task<string> | Read stream content as a string |
// Get access to a text file that was included in solution as Content | do not copy local
using (var stream = await StreamHelper.GetPackagedFileStreamAsync("Assets/Sub/test.txt"))
{
// Read the contents as ASCII text
var readText = await stream.ReadTextAsync();
}
// Get access to a HTTP resource
using (var stream = await StreamHelper.GetHttpStreamAsync(new Uri("https://dev.windows.com")))
{
...
}
' Get access to a text file that was included in solution as Content | do not copy local
Using stream = Await StreamHelper.GetPackagedFileStreamAsync("Assets/Sub/test.txt")
' Read the contents as ASCII text
Dim readText = Await stream.ReadTextAsync()
...
End Using
' // Get access to a HTTP resource
Using stream = Await StreamHelper.GetHttpStreamAsync(New Uri("https://dev.windows.com"))
...
End Using
You can find more examples in our unit tests
Device family | Universal, 10.0.16299.0 or higher |
---|---|
Namespace | Microsoft.Toolkit.Uwp |
NuGet package | Microsoft.Toolkit.Uwp |