Reputation:
Given a System.IO.FileStream
object, how can I get the original path to the file it's providing access to?
For example, in the MyStreamHandler()
function below, I want to get back the path of the file that created the 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)
{
}
Upvotes: 50
Views: 54141
Reputation: 11
Use FileInfo-Class for getting the path.
var fileStream = File.OpenRead(fileName);
var fileInfo = new FileInfo(fileName);
Settings.Default.ThePath = fileInfo.DirectoryName;
Settings.Default.Save();
Upvotes: 1
Reputation: 68687
The FileStream's Name property.
See documentation in MSDN
Upvotes: 91