Строка java.nio.file.PathJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Строка java.nio.file.Path

Сообщение Anonymous »

Может кто-нибудь объяснить, что я делаю неправильно и/или что здесь не хватает. У меня есть объекты java.nio.file.Path, которые отлично работают в моем Java-приложении. Единственная проблема заключается в том, что я пытаюсь распечатать их в журналах, и эта проблема присутствует только в Windows. Когда я преобразую объект Path в строку (или объект File), я получаю некоторый путь, например build/somefile.txt в Linux, Unix, Mac, но в Windows он печатается как buildsomefile.txt . Я ожидал увидеть build\\somefile.txt, но вместо этого в Windows косые черты опущены.
Это простой пример кода, который я выполнил на Mac, Ubuntu и Windows с Java 11 и Java 17:

Код: Выделить всё

import java.nio.file.Paths;

System.out.println(Paths.get("build", "somefile.txt"));
System.out.println(Paths.get("build", "somefile.txt").toFile());
System.out.println(Paths.get("build", "somefile.txt").toFile().getPath());
То же самое поведение, если я нормализую путь, преобразую его в абсолютный путь и т. д. Из документации Path мне кажется, что toString() должен используйте здесь File.separator, и именно такое поведение я наблюдаю в системах, отличных от Windows. В документах также указано, что разделитель Windows равен \\. Может ли кто-нибудь помочь мне понять, чего мне здесь не хватает? Спасибо!
РЕДАКТИРОВАТЬ:
Все они также выводят пустые строки:

Код: Выделить всё

import java.nio.file.File;
System.out.println(File.separator);
System.out.println(File.separatorChar);
Следует отметить, что я вижу это в тестах, если это актуально.

Подробнее здесь: https://stackoverflow.com/questions/771 ... -file-path
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»