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