c#открыть файл, путь начинается с %userprofile%

У меня простая проблема. У меня есть путь к файлу в пользовательском каталоге, который выглядит так:

%USERPROFILE%\AppData\Local\MyProg\settings.file

Когда я пытаюсь открыть его как файл

ostream = new FileStream(fileName, FileMode.Open);

, он выдает ошибку, потому что пытается добавить %userprofile%в текущий каталог, поэтому он становится:

C:\Program Files\MyProg\%USERPROFILE%\AppData\Local\MyProg\settings.file

Как сделать так, чтобы путь, начинающийся с %USERPROFILE%, был абсолютным, а не относительным?

PS:Я не могу использовать

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

Потому что мне нужно просто открыть файл по его имени. Пользователь указывает имя. Если пользователь указывает «settings.file», мне нужно открыть файл относительно каталога программы, если пользователь указывает путь, начинающийся с %USERPROFILE%или что-то еще, что преобразуется в C:\что-то, мне нужно открыть его как Что ж!

41
задан Artem Kulikov 9 September 2015 в 10:43
поделиться