TGViewer
Java Books Java Books @java_library · 14.2K subscribers
Post #770 2.14K
💡 Java совет: два пути могут указывать на один и тот же файл

Path.equals() сравнивает только представление пути:


Path a = Path.of("data.txt");
Path b = Path.of("./data.txt");

System.out.println(a.equals(b)); // false


Хотя оба пути могут вести к одному файлу.

Для проверки используйте:


boolean same = Files.isSameFile(a, b);


Files.isSameFile() обращается к файловой системе и учитывает:

- относительные пути;
- символические ссылки;
- реальное расположение файла.


Path file = Path.of("data.txt");
Path link = Path.of("data-link.txt");

Files.isSameFile(file, link); // true, если link ведёт к data.txt


Полезно при поиске дубликатов, проверке пользовательских путей и защите от повторной обработки одного файла.

Учтите: метод может обращаться к диску и выбрасывать IOException, поэтому это не просто строковое сравнение.

Доступно начиная с Java 7.

#Java #JavaTips #Files
  • ❤ 3
  • 👍 2
More from @java_library
  1. Sep 15, 2026Apache Kafka курс 2026: бесплатный курс по Kafka с нуля до профи на русском Kafka обучение…
  2. Sep 12, 2026🖥 Java в 2026 году: 25 лучших практических примеров кода от основ до многопоточности http…
  3. Sep 10, 2026☕ Java: в HashSet всего 10 элементов, а обход всё равно тормозит Редкий нюанс: время обход…
  4. Sep 10, 2026🔥 Python + AI без игрушечных демок. Курс для тех, кто хочет собирать рабочие системы. Ste…
  5. Sep 7, 2026☕️ Java получил практический MCP-сервер для медицинского AI-триажа На JavaOne показали сис…
  6. Sep 6, 2026Apache Kafka 4.x - продвинутый бесплатный практический курс 2026 года https://github.com/j…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →