为了账号安全,请及时绑定邮箱和手机立即绑定

您可以从 StreamReader 对象获取文件路径吗?

您可以从 StreamReader 对象获取文件路径吗?

C#
HUX布斯 2022-10-23 16:32:53
是否可以从 StreamReader 对象中获取 StreamReader 构造函数中使用的路径?        using (StreamReader fileStream = new StreamReader(filePath))         {             string path = fileStream.???         }
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

StreamReaderBaseStream通过属性公开它正在读取的流。如果读者的流是 a FileStream,你可以使用它的Name属性来获取文件的路径。


using (StreamReader reader = new StreamReader(filePath))

{

    string path = (reader.BaseStream as FileStream)?.Name;

}

注意:我重命名了变量以防止可能的混淆,因为它是一个有流的阅读器。


在这个人为的例子中,很明显它是 aFileStream但是如果你有一个方法需要一个StreamReader.


也就是说,您这样做会导致抽象泄漏。如果您需要知道文件名,则应明确要求文件名或FileStream实例。


查看完整回答
反对 回复 2022-10-23
  • 1 回答
  • 0 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信