Абсолютное ("полностью квалифицированное") имя начинается с имени диска или сервера и указывает все компоненты пути, например: "
C:\Projects\TestProject\Data.txt
" или "\\SERVER\Projects\TestProject\Data.txt
". Такое имя всегда однозначно указывает на файл - вне зависимости от любых внешних факторов.Относительное имя содержит не все компоненты пути и указывает файл относительно другого каталога, имя которого в самом имени не указано, например: "
Data.txt
" или "..\Data.txt
". Для определения точного положения файла недостаточно одного относительного имени, необходимо ещё имя каталога, относительно которого будет трактоваться это имя. Поэтому один и тот же относительный путь может ссылаться на разные файлы. К примеру, путь "Data.txt
" ссылается на C:\Projects\TestProject\Data.txt
, если текущий каталог (или каталог, относительно которого происходит разрешение имени) равен C:\Projects\TestProject
, но этот же путь будет ссылаться на C:\Windows\Data.txt
, если текущий каталог - C:\Windows
.Подробнее о файловых именах можно почитать здесь.
Здесь же, в этой статье, я хочу показать, что вам никогда не нужно использовать относительные имена файлов.