C# 将StreamReader(字符串)转换为与UWP API兼容?

C# 将StreamReader(字符串)转换为与UWP API兼容?,c#,class,uwp,streamreader,C#,Class,Uwp,Streamreader,我在使用StreamReader类时遇到了一个障碍。在文档页面上,它声明 支持版本信息标题下的通用Windows平台(UWP),“通用Windows平台-自8月起提供” 在进一步检查其构造函数后,StreamReader(Stream)构造函数确实支持UWP应用程序,但构造函数不支持它们 我目前正在使用StreamReader(String)构造函数,其中包含要读取的完整文件路径 using (StreamReader sr = new StreamReader(path)) { ...

我在使用StreamReader类时遇到了一个障碍。在文档页面上,它声明 支持版本信息标题下的通用Windows平台(UWP),“通用Windows平台-自8月起提供”

在进一步检查其构造函数后,StreamReader(Stream)构造函数确实支持UWP应用程序,但构造函数不支持它们

我目前正在使用StreamReader(String)构造函数,其中包含要读取的完整文件路径

using (StreamReader sr = new StreamReader(path))
{
    ...
}

我正在学习如何将我的StreamReader(字符串)代码转换为StreamReader(Stream)。

在UWP
StreamReader
中,仅接受带有附加选项的
流。不是绳子

因此,要从特定路径使用
StreamReader
,需要获取
StorageFile

StorageFile file = await StorageFile.GetFileFromPathAsync(<Your path>);
var randomAccessStream = await file.OpenReadAsync();
Stream stream = randomAccessStream.AsStreamForRead();
StreamReader str = new StreamReader(stream);
StorageFile file=wait-StorageFile.getfilefrompathsync();
var randomAccessStream=wait file.OpenReadAsync();
Stream=randomAccessStream.AsStreamForRead();
StreamReader str=新的StreamReader(流);

在UWP
StreamReader
中,仅接受带有附加选项的
流。不是绳子

因此,要从特定路径使用
StreamReader
,需要获取
StorageFile

StorageFile file = await StorageFile.GetFileFromPathAsync(<Your path>);
var randomAccessStream = await file.OpenReadAsync();
Stream stream = randomAccessStream.AsStreamForRead();
StreamReader str = new StreamReader(stream);
StorageFile file=wait-StorageFile.getfilefrompathsync();
var randomAccessStream=wait file.OpenReadAsync();
Stream=randomAccessStream.AsStreamForRead();
StreamReader str=新的StreamReader(流);

最终解决了我自己的问题!文件是现场的


朴素典雅。再次感谢所有做出贡献的人

最终解决了我自己的问题!文件是现场的


朴素典雅。再次感谢所有做出贡献的人

您想要完成的是什么?字符串是文件名还是字符串。要读取字符串,请使用StringReader(字符串)。StreamReader中的字符串是一个文件名。@Kilazur,从某种意义上说是的。我想使用路径。@jdweng,对,但如果仔细阅读问题,它会指定UWPs不支持StreamReader(字符串)。因此,我在寻找一个替代的解决方案。您想要实现什么?字符串是文件名还是字符串。要读取字符串,请使用StringReader(字符串)。StreamReader中的字符串是一个文件名。@Kilazur,从某种意义上说是的。我想使用路径。@jdweng,对,但如果仔细阅读问题,它会指定UWPs不支持StreamReader(字符串)。因此,我正在寻找另一种解决方案。如果路径在应用程序文件夹之外,则会出现“拒绝访问”错误。欢迎使用环境!您需要获得的实例,通常是通过,然后使用AVK答案中的方法。您不能使用路径直接访问文件。@MehrzadChehraz我相信这正是发生在我身上的事情。。。是否有解决方法或已知的解决方案?我需要能够访问构建应用程序文件夹之外的文件,因为它是一个动态程序,可以为任何用户工作。这里有什么有用的吗?没有,如果文件在应用程序文件夹之外,您需要使用StorageFile获取指向该文件的流。@MehrzadChehraz“您需要获取StorageFile的实例,通常通过FileOpenPicker”。这里关于FileOpenPicker的文档非常密集。你能在这里起草一个原型例子来说明你的意思吗?如果路径在应用程序文件夹之外,你会得到一个拒绝访问的错误。欢迎来到这个环境!您需要获得的实例,通常是通过,然后使用AVK答案中的方法。您不能使用路径直接访问文件。@MehrzadChehraz我相信这正是发生在我身上的事情。。。是否有解决方法或已知的解决方案?我需要能够访问构建应用程序文件夹之外的文件,因为它是一个动态程序,可以为任何用户工作。这里有什么有用的吗?没有,如果文件在应用程序文件夹之外,您需要使用StorageFile获取指向该文件的流。@MehrzadChehraz“您需要获取StorageFile的实例,通常通过FileOpenPicker”。这里关于FileOpenPicker的文档非常密集。你能在这里起草一个原型例子来说明你的意思吗?
using (FileStream fs = new FileStream(path, FileMode.Open))
{
   using (StreamReader sr = new StreamReader(fs))
   {
      ...
   }
}