将 StreamReader(String) 转换为与 UWP API 兼容?
Converting a StreamReader(String) to be compatible with UWP API?
我 运行 使用 StreamReader class 遇到了麻烦。在 StreamReader Class 文档页面上,它声明它
在版本信息 header、"Universal Windows Platform - Available since 8".
下支持通用 Windows 平台 (UWP)
进一步检查其构造函数后,StreamReader(Stream) 构造函数确实支持 UWP 应用程序,但 StreamReader(String) 构造函数不支持它们。
我目前正在使用带有要读取的完整文件路径的 StreamReader(String) 构造函数,
using (StreamReader sr = new StreamReader(path))
{
...
}
我正在寻求学习如何将我的 StreamReader(String) 代码转换为 StreamReader(Stream)。
在 UWP 中 StreamReader
只接受 Stream
和附加选项。不是字符串。
因此,要从特定路径使用 StreamReader
,您需要获取 StorageFile
StorageFile file = await StorageFile.GetFileFromPathAsync(<Your path>);
var randomAccessStream = await file.OpenReadAsync();
Stream stream = randomAccessStream.AsStreamForRead();
StreamReader str = new StreamReader(stream);
终于解决了我自己的问题!文档很准确。
来自
using (StreamReader sr = new StreamReader(path))
{
...
}
到
using (FileStream fs = new FileStream(path, FileMode.Open))
{
using (StreamReader sr = new StreamReader(fs))
{
...
}
}
简洁大方。再次感谢所有贡献者!
我 运行 使用 StreamReader class 遇到了麻烦。在 StreamReader Class 文档页面上,它声明它 在版本信息 header、"Universal Windows Platform - Available since 8".
下支持通用 Windows 平台 (UWP)进一步检查其构造函数后,StreamReader(Stream) 构造函数确实支持 UWP 应用程序,但 StreamReader(String) 构造函数不支持它们。
我目前正在使用带有要读取的完整文件路径的 StreamReader(String) 构造函数,
using (StreamReader sr = new StreamReader(path))
{
...
}
我正在寻求学习如何将我的 StreamReader(String) 代码转换为 StreamReader(Stream)。
在 UWP 中 StreamReader
只接受 Stream
和附加选项。不是字符串。
因此,要从特定路径使用 StreamReader
,您需要获取 StorageFile
StorageFile file = await StorageFile.GetFileFromPathAsync(<Your path>);
var randomAccessStream = await file.OpenReadAsync();
Stream stream = randomAccessStream.AsStreamForRead();
StreamReader str = new StreamReader(stream);
终于解决了我自己的问题!文档很准确。
来自
using (StreamReader sr = new StreamReader(path))
{
...
}
到
using (FileStream fs = new FileStream(path, FileMode.Open))
{
using (StreamReader sr = new StreamReader(fs))
{
...
}
}
简洁大方。再次感谢所有贡献者!