[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-i-o-nio-chto-takoe-absolyutnyy-put-i-otnositelnyy-put":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":19,"progress":20,"seo":21},681,"chto-takoe-absolyutnyy-put-i-otnositelnyy-put",15,"i-o-nio","I\u002FO & NIO","📁","Что такое абсолютный путь и относительный путь?","Абсолютный (полный) путь — это путь, однозначно указывающий на конкретный файл или каталог в файловой системе, начиная от корневого каталога. Он не зависит от текущей рабочей директории.\n\nОтносительный путь — это путь, указывающий расположение файла относительно текущей рабочей директории приложения. Он интерпретируется по-разному в зависимости от того, откуда запущена программа.\n\n| Характеристика | Абсолютный путь | Относительный путь |\n|---|---|---|\n| Начинается с | Корня FS (`\u002F` или `C:\\`) | Текущей директории |\n| Пример (Linux) | `\u002Fhome\u002Fuser\u002Fdocs\u002Ffile.txt` | `docs\u002Ffile.txt` |\n| Пример (Windows) | `C:\\Users\\User\\docs\\file.txt` | `docs\\file.txt` |\n| Зависит от CWD | Нет | Да |\n| Когда использовать | Конфигурации, деплой, абсолютные ссылки | Ресурсы внутри проекта, тесты |\n\n### Специальные символы\n\n- `.` (точка) — текущий каталог.\n- `..` (две точки) — родительский каталог.\n- `~` — домашний каталог пользователя (в Unix-shell, но не в Java API напрямую).\n\n### Работа в Java\n\n```java\nFile file = new File(\"data.txt\");\nSystem.out.println(file.getAbsolutePath());  \u002F\u002F \u002Fhome\u002Fuser\u002Fproject\u002Fdata.txt\nSystem.out.println(file.isAbsolute());       \u002F\u002F false\n\nPath path = Path.of(\"data.txt\");\nPath absolute = path.toAbsolutePath();       \u002F\u002F \u002Fhome\u002Fuser\u002Fproject\u002Fdata.txt\nPath normalized = Path.of(\"\u002Fhome\u002Fuser\u002F..\u002Fuser\u002Ffile.txt\").normalize();\n\u002F\u002F \u002Fhome\u002Fuser\u002Ffile.txt\n```\n\n> **На собеседовании:** дайте определения обоих типов путей, приведите примеры и объясните, что относительный путь разрешается от текущей рабочей директории JVM, которая может отличаться от ожидаемой.","","junior",[15,16,17,18],"core","file","основы","io",[],null,{"title":22,"description":23,"ogTitle":22,"ogDescription":24,"keywords":25,"schemaAnswer":35,"featuredSnippetReady":36},"Абсолютный и относительный путь в Java — Gymterview","Абсолютный путь начинается от корня FS, относительный — от текущей директории. Примеры, спецсимволы (., ..), toAbsolutePath(), normalize().","Определение абсолютного и относительного пути. Примеры, спецсимволы, методы toAbsolutePath() и normalize().",[26,27,28,29,30,31,32,33,34],"абсолютный путь","относительный путь","toAbsolutePath","normalize","getAbsolutePath","File","Path","Java","собеседование","Абсолютный путь однозначно указывает расположение от корня файловой системы (\u002F или C:\\), не зависит от текущей директории. Относительный путь указывает расположение относительно текущей рабочей директории. Спецсимволы: . (текущий каталог), .. (родительский). В Java: file.getAbsolutePath(), path.toAbsolutePath(), path.normalize() (убирает . и ..).",true]