是否可以從 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 關注
- 149 瀏覽
添加回答
舉報
0/150
提交
取消