С
logo
Сурен Хоренян | Программирование

Абсолютный путь относителен

Вы ‎не‏ ‎знаете, ‎на ‎какой ‎операционной ‎системе‏ ‎будет ‎работать‏ ‎ваше‏ ‎приложение. ‎И ‎в‏ ‎какую ‎папку‏ ‎сложат ‎ваш ‎проект. ‎Вы‏ ‎можете‏ ‎работать ‎на‏ ‎макос, ‎ваш‏ ‎коллега ‎пишет ‎на ‎винде, ‎а‏ ‎в‏ ‎продакшн ‎запустят‏ ‎на ‎убунте.

Необходимо‏ ‎надежно ‎получать ‎путь ‎к ‎файлу‏ ‎для‏ ‎чтения‏ ‎/ ‎записи,‏ ‎независимо ‎от‏ ‎платформы ‎и‏ ‎места‏ ‎хранения.

Нельзя ‎указать‏ ‎просто ‎захардкоженный ‎абсолютный ‎путь ‎к‏ ‎файлу, ‎просто‏ ‎потому‏ ‎что ‎на ‎всех‏ ‎ОС ‎будет‏ ‎разный ‎корень, ‎не ‎говоря‏ ‎уже‏ ‎о ‎разных‏ ‎именах ‎пользователя.‏ ‎Вам ‎нужно ‎знать ‎путь ‎к‏ ‎файлу‏ ‎и ‎путь‏ ‎к ‎корню,‏ ‎откуда ‎вы ‎работаете.

Вы ‎не ‎сможете‏ ‎использовать‏ ‎абсолютный‏ ‎путь ‎к‏ ‎файлу ‎в‏ ‎хранилище, ‎так‏ ‎как‏ ‎не ‎знаете‏ ‎корень ‎хранилища ‎заранее. ‎К ‎примеру,‏ ‎у ‎вас‏ ‎может‏ ‎быть ‎отдельно ‎бакет‏ ‎S3 ‎и‏ ‎отдельно ‎путь ‎к ‎файлу.‏ ‎И‏ ‎только ‎при‏ ‎обращении ‎вы‏ ‎будете ‎склеивать ‎полный ‎путь.

Абсолютный ‎путь‏ ‎тоже‏ ‎строится ‎относительно.‏ ‎Вы ‎можете‏ ‎быть ‎уверены, ‎что ‎файлы ‎вашего‏ ‎проекта‏ ‎будут‏ ‎расположены ‎именно‏ ‎в ‎таком‏ ‎виде ‎на‏ ‎любой‏ ‎ОС. ‎Поэтому‏ ‎вы ‎выбираете ‎файл ‎внутри ‎вашего‏ ‎проекта, ‎относительно‏ ‎которого‏ ‎вы ‎будете ‎строить‏ ‎абсолютный ‎путь.‏ ‎Например, ‎это ‎файл, ‎где‏ ‎вы‏ ‎читаете ‎конфигурацию.‏ ‎Берете ‎путь‏ ‎к ‎файлу, ‎через ‎него ‎получаете‏ ‎путь‏ ‎к ‎корню‏ ‎вашего ‎проекта,‏ ‎и ‎уже ‎относительно ‎этого ‎значения‏ ‎строите‏ ‎абсолютные‏ ‎пути.

И ‎да,‏ ‎вот ‎эти‏ ‎абсолютные ‎пути,‏ ‎построенные‏ ‎относительно ‎корня‏ ‎проекта, ‎удобнее ‎и ‎надежнее, ‎чем‏ ‎обычные ‎относительные‏ ‎пути.

Предыдущий Следующий
Все посты проекта
0 комментариев

Статистика

Метки

Подарить подписку

Будет создан код, который позволит адресату получить бесплатный для него доступ на определённый уровень подписки.

Оплата за этого пользователя будет списываться с вашей карты вплоть до отмены подписки. Код может быть показан на экране или отправлен по почте вместе с инструкцией.

Будет создан код, который позволит адресату получить сумму на баланс.

Разово будет списана указанная сумма и зачислена на баланс пользователя, воспользовавшегося данным промокодом.

Добавить карту
0/2048