c# - 将 StreamReader(String) 转换为与 UWP API 兼容?

标签 c# class uwp streamreader

我在使用 StreamReader 类时遇到了障碍。关于StreamReader Class文档页面,它指出 在版本信息标题“通用 Windows 平台 - 自 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);

关于c# - 将 StreamReader(String) 转换为与 UWP API 兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44549205/

相关文章:

.net - DEP0800 : Cannot deploy UWP app after upgrading to VS 2015 Update 3

c# - 从 Active Directory c# 检索图片

c# - 我应该使用 ORM 来为大型树结构建模吗?

php - 使用类查询数据库

java - 如果枚举中的类型只使用一次,我应该创建一个枚举还是一个类

javascript - 如何禁用 Webview 滚动并设置其高度以适合整个内容

java - 根据特定输入动态生成字符串的代码

c# - 如何在 c# WPF 应用程序中取消上传

java - java方法的返回值

c# - 通过套接字进行最简单的广告/收听安排