WindowsRuntimeStorageExtensions.OpenStreamForReadAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
OpenStreamForReadAsync(IStorageFile) |
Načte datový proud pro čtení ze zadaného souboru. |
OpenStreamForReadAsync(IStorageFolder, String) |
Načte datový proud pro čtení ze souboru v zadané nadřazené složce. |
OpenStreamForReadAsync(IStorageFile)
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Načte datový proud pro čtení ze zadaného souboru.
public:
[System::Runtime::CompilerServices::Extension]
static System::Threading::Tasks::Task<System::IO::Stream ^> ^ OpenStreamForReadAsync(Windows::Storage::IStorageFile ^ windowsRuntimeFile);
[System.CLSCompliant(false)]
public static System.Threading.Tasks.Task<System.IO.Stream> OpenStreamForReadAsync (this Windows.Storage.IStorageFile windowsRuntimeFile);
[<System.CLSCompliant(false)>]
static member OpenStreamForReadAsync : Windows.Storage.IStorageFile -> System.Threading.Tasks.Task<System.IO.Stream>
<Extension()>
Public Function OpenStreamForReadAsync (windowsRuntimeFile As IStorageFile) As Task(Of Stream)
Parametry
- windowsRuntimeFile
- IStorageFile
Prostředí Windows Runtime IStorageFile objekt, ze který chcete číst.
Návraty
Úloha, která představuje asynchronní operaci čtení.
- Atributy
Výjimky
windowsRuntimeFile
je null
.
Soubor nelze otevřít nebo načíst jako datový proud.
Příklady
Následující příklad ukazuje, jak otevřít soubor jako soubor Stream v aplikaci pro Windows Store a přečíst jeho obsah pomocí instance StreamReader třídy .
using System;
using System.IO;
using System.Text;
using Windows.Storage.Pickers;
using Windows.Storage;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace ExampleApplication
{
public sealed partial class BlankPage : Page
{
public BlankPage()
{
this.InitializeComponent();
}
private async void Button_Click_1(object sender, RoutedEventArgs e)
{
StringBuilder contents = new StringBuilder();
string nextLine;
int lineCounter = 1;
var openPicker = new FileOpenPicker();
openPicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
openPicker.FileTypeFilter.Add(".txt");
StorageFile selectedFile = await openPicker.PickSingleFileAsync();
using (StreamReader reader = new StreamReader(await selectedFile.OpenStreamForReadAsync()))
{
while ((nextLine = await reader.ReadLineAsync()) != null)
{
contents.AppendFormat("{0}. ", lineCounter);
contents.Append(nextLine);
contents.AppendLine();
lineCounter++;
if (lineCounter > 3)
{
contents.AppendLine("Only first 3 lines shown.");
break;
}
}
}
DisplayContentsBlock.Text = contents.ToString();
}
}
}
Imports System.Text
Imports System.IO
Imports Windows.Storage.Pickers
Imports Windows.Storage
NotInheritable Public Class BlankPage
Inherits Page
Private Async Sub Button_Click_1(sender As Object, e As RoutedEventArgs)
Dim contents As StringBuilder = New StringBuilder()
Dim nextLine As String
Dim lineCounter As Integer = 1
Dim openPicker = New FileOpenPicker()
openPicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary
openPicker.FileTypeFilter.Add(".txt")
Dim selectedFile As StorageFile = Await openPicker.PickSingleFileAsync()
Using reader As StreamReader = New StreamReader(Await selectedFile.OpenStreamForReadAsync())
nextLine = Await reader.ReadLineAsync()
While (nextLine <> Nothing)
contents.AppendFormat("{0}. ", lineCounter)
contents.Append(nextLine)
contents.AppendLine()
lineCounter = lineCounter + 1
If (lineCounter > 3) Then
contents.AppendLine("Only first 3 lines shown.")
Exit While
End If
nextLine = Await reader.ReadLineAsync()
End While
End Using
DisplayContentsBlock.Text = contents.ToString()
End Sub
End Class
Následující příklad ukazuje kód XAML přidružený k předchozímu příkladu.
<Page
x:Class="ExampleApplication.BlankPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:ExampleApplication"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<StackPanel Background="{StaticResource ApplicationPageBackgroundBrush}" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Text="Display lines from a file."></TextBlock>
<Button Content="Load File" Click="Button_Click_1"></Button>
<TextBlock Name="DisplayContentsBlock"></TextBlock>
</StackPanel>
</Page>
Poznámky
Poznámka
V jazyce Visual Basic a C# můžete tuto metodu volat jako metodu instance pro libovolný objekt typu IStorageFile. Pokud k volání této metody použijete syntaxi metody instance, vynechejte první parametr. Další informace najdete v tématu Metody rozšíření (Visual Basic) nebo Metody rozšíření (Průvodce programováním v C#).
Platí pro
OpenStreamForReadAsync(IStorageFolder, String)
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Načte datový proud pro čtení ze souboru v zadané nadřazené složce.
public:
[System::Runtime::CompilerServices::Extension]
static System::Threading::Tasks::Task<System::IO::Stream ^> ^ OpenStreamForReadAsync(Windows::Storage::IStorageFolder ^ rootDirectory, System::String ^ relativePath);
[System.CLSCompliant(false)]
public static System.Threading.Tasks.Task<System.IO.Stream> OpenStreamForReadAsync (this Windows.Storage.IStorageFolder rootDirectory, string relativePath);
[<System.CLSCompliant(false)>]
static member OpenStreamForReadAsync : Windows.Storage.IStorageFolder * string -> System.Threading.Tasks.Task<System.IO.Stream>
<Extension()>
Public Function OpenStreamForReadAsync (rootDirectory As IStorageFolder, relativePath As String) As Task(Of Stream)
Parametry
- rootDirectory
- IStorageFolder
Prostředí Windows Runtime IStorageFile objekt obsahující soubor, ze kterého se má číst.
- relativePath
- String
Cesta vzhledem ke kořenové složce k souboru, ze které se má číst.
Návraty
Úloha, která představuje asynchronní operaci čtení.
- Atributy
Výjimky
rootDirectory
nebo relativePath
je null
.
relativePath
je prázdný nebo obsahuje pouze prázdné znaky.
Soubor nelze otevřít nebo načíst jako datový proud.
Příklady
Následující příklad ukazuje, jak otevřít soubor jako soubor Stream v aplikaci pro Windows Store a přečíst jeho obsah pomocí instance StreamReader třídy .
using System;
using System.IO;
using Windows.Storage.Pickers;
using Windows.Storage;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace ExampleApplication
{
public sealed partial class BlankPage : Page
{
public BlankPage()
{
this.InitializeComponent();
CreateTestFile();
}
private async void CreateTestFile()
{
StorageFile newFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("testfile.txt");
await FileIO.WriteTextAsync(newFile, "example content in file");
}
private async void Button_Click_1(object sender, RoutedEventArgs e)
{
using (StreamReader reader = new StreamReader(
await ApplicationData.Current.LocalFolder.OpenStreamForReadAsync("testfile.txt")))
{
string contents = await reader.ReadToEndAsync();
DisplayContentsBlock.Text = contents;
}
}
}
}
Imports System.IO
Imports Windows.Storage
NotInheritable Public Class BlankPage
Inherits Page
Protected Overrides Sub OnNavigatedTo(e As Navigation.NavigationEventArgs)
CreateTestFile()
End Sub
Private Async Sub CreateTestFile()
Dim newFile As StorageFile = Await ApplicationData.Current.LocalFolder.CreateFileAsync("testfile.txt")
Await FileIO.WriteTextAsync(newFile, "example content in file")
End Sub
Private Async Sub Button_Click_1(sender As Object, e As RoutedEventArgs)
Using reader As StreamReader = New StreamReader(
Await ApplicationData.Current.LocalFolder.OpenStreamForReadAsync("testfile.txt"))
Dim contents As String = Await reader.ReadToEndAsync()
DisplayContentsBlock.Text = contents
End Using
End Sub
End Class
Následující příklad ukazuje kód XAML přidružený k předchozímu příkladu.
<Page
x:Class="ExampleApplication.BlankPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:ExampleApplication"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<StackPanel Background="{StaticResource ApplicationPageBackgroundBrush}" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button Content="Open File" Click="Button_Click_1"></Button>
<TextBlock Name="DisplayContentsBlock"></TextBlock>
</StackPanel>
</Page>
Poznámky
Poznámka
V jazyce Visual Basic a C# můžete tuto metodu volat jako metodu instance u libovolného objektu typu IStorageFolder. Pokud k volání této metody použijete syntaxi metody instance, vynechejte první parametr. Další informace najdete v tématu Metody rozšíření (Visual Basic) nebo Metody rozšíření (Průvodce programováním v C#).