У меня простая проблема. У меня есть путь к файлу в пользовательском каталоге, который выглядит так:
%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:\что-то, мне нужно открыть его как Что ж!