C# 从文件流获取原始路径

C# 从文件流获取原始路径,c#,path,filestream,.net,C#,Path,Filestream,.net,给定一个System.IO.FileStream对象,如何获取它提供访问权限的文件的原始路径 例如,在下面的MyStreamHandler()函数中,我想返回创建FileStream的文件的路径: public static void Main() { string path = @"c:\temp\MyTest.txt"; FileStream fs = File.Create(path)); MyStreamHandler(fs); MyOtherStre

给定一个
System.IO.FileStream
对象,如何获取它提供访问权限的文件的原始路径

例如,在下面的
MyStreamHandler()
函数中,我想返回创建
FileStream
的文件的路径:

public static void Main() 
{
    string path = @"c:\temp\MyTest.txt";
    FileStream fs = File.Create(path));

    MyStreamHandler(fs);
    MyOtherStreamHandler(fs);

    fs.Close();
    fs.Dispose();
}

private static void MyStreamHandler(FileStream fs)
{
    // Get the originating path of 'fs'
} 

private static void MyOtherStreamHandler(FileStream fs)
{
}

文件流的名称属性


请参阅

中的文档,您可以使用fs.Name获取路径。

使用FileInfo类获取路径

var fileStream = File.OpenRead(fileName);
var fileInfo = new FileInfo(fileName);

Settings.Default.ThePath = fileInfo.DirectoryName;
Settings.Default.Save();

感谢您回答这显然是RTFM类型的问题。事实上是这样的,但我不清楚名字是怎么来的。我不想这么说,但既然你已经知道了,为什么还要阅读手册呢?通过使用该技术的人提供的示例,查找速度要快得多。@AdrianCarr因为手册中有示例,而答案不是仅供参考:如果绝对路径未知,此属性将返回类似于“[Unknown]”的字符串。FileStream是使用SafeFileHandle实例化的。