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