Присоединиться к пути POSIX в Windows

#java #path

#java #путь

Вопрос:

Я нахожусь на компьютере с Windows, и мне нужно установить связь с некоторыми путями к POSIX системе. Поэтому я хотел бы объединить два POSIX пути в Windows. В Python я мог бы использовать для этого posixpath стандартную библиотеку даже в Windows, но, похоже, Path класс Java поддерживает только установленные файловые системы, которых POSIX нет на компьютере с Windows.

В настоящее время я использую это:

 private String posixJoin(String a, String b) {
    StringBuilder joined = new StringBuilder(a);

    if (!a.endsWith("/") amp;amp; !a.isEmpty()) {
        joined.append('/');
    }

    joined.append(b);

    return joined.toString();
}
  

Но я опасаюсь любых крайних случаев, которые могут возникнуть при работе с путями, и предпочел бы использовать что-нибудь из стандартной библиотеки, если это возможно. Есть ли что-нибудь в стандартной библиотеке Java или экосистеме для объединения путей, отличных от тех, которые найдены на текущем компьютере?

Комментарии:

1. почему вы не смогли работать с Path и в конце make Path.toString().replace('\', '/') ? Да, вы не хотите использовать внешние библиотеки, но FilenameUtils могли бы решить проблему с этим

2. @ZhenyaM Возможное решение, но все еще кажется далеко не идеальным, и мне неясно, есть ли для этого какие-либо крайние случаи. Я написал Windows в названии, но в идеале я бы не хотел предполагать, что она работает и в Windows.

3. Хорошо, вы могли бы использовать FilenameUtils.separatorsToUnix(path.toString())