是否可以从 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实例。
- 1 回答
- 0 关注
- 125 浏览
添加回答
举报
0/150
提交
取消