Почему происходит переход от API путей к файловому API?
использование: Files.exists(Paths.get(fileName).normalize());
Как сказано в документации, normalize удаляет конструкции /./, а также конструкции X /../. Тем не менее, это может привести к несколько отличным файлам в случае странных конструкций программных ссылок, что, да, даже в Windows - это то, что вы можете сделать. Это может быть связано с этим. Дайте нам путь до и после нормализации (просто используйте его), и мы, возможно, расскажем вам немного подробнее об этом.
Обычно вы не хотите нормализоваться. В зависимости от ситуации вы либо просто хотите, чтобы путь был как есть, либо (в случае, если вам нужно сохранить его на потом, проверить его по определенным фильтрам или отобразить его пользователю), path.toAbsolutePath()
.