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

是否可以从 StreamReader 对象中获取 StreamReader 构造函数中使用的路径?

        using (StreamReader fileStream = new StreamReader(filePath))
        {
            string path = fileStream.???
        }


HUX布斯
浏览 93回答 1
1回答

缥缈止盈

StreamReaderBaseStream通过属性公开它正在读取的流。如果读者的流是 a FileStream,你可以使用它的Name属性来获取文件的路径。using (StreamReader reader = new StreamReader(filePath)){    string path = (reader.BaseStream as FileStream)?.Name;}注意:我重命名了变量以防止可能的混淆,因为它是一个有流的阅读器。在这个人为的例子中,很明显它是 aFileStream但是如果你有一个方法需要一个StreamReader.也就是说,您这样做会导致抽象泄漏。如果您需要知道文件名,则应明确要求文件名或FileStream实例。
打开App,查看更多内容
随时随地看视频慕课网APP