Можно ли использовать прямые косые черты вместо File.separator в моих (Gradle) файлах сборки? - PullRequest
15 голосов
/ 29 декабря 2011

Я не вижу никаких очевидных проблем, но мне интересно, можно ли использовать / вместо File.separator, когда я пишу свои файлы сборки.Использование File.separator очень затрудняет чтение некоторых путей.Пример:

dependsDir = "${buildDir}${File.separator}depends"

против

dependsDir = "${buildDir}/depends"

Ответы [ 3 ]

22 голосов
/ 29 декабря 2011

Косая черта (/) является допустимым разделителем пути в Windows, а также в Unix (включая Linux и Mac OSX).Поэтому если вам не нужна сборка для запуска в других операционных системах, это не должно быть проблемой.

5 голосов
/ 29 декабря 2011

Gradle по большей части просто использует java.io.File для выполнения всех операций, связанных с путями, что, в свою очередь, изящно обрабатывает / как в Windows, так и в Linux. Поэтому использование / в Gradle API вряд ли вызовет какие-либо проблемы.

Я использую / в довольно большом проекте, который работает как в Windows, так и в Linux, и до сих пор у меня не было ни одной проблемы. Надеюсь, это поможет.

1 голос
/ 29 декабря 2011

в классе файлов

 public static final String separator = "" + separatorChar;

, где separatorChar - системно-зависимый символ разделителя имен по умолчанию.Это поле инициализируется, чтобы содержать первый символ значения системного свойства file.separator.В системах UNIX значение этого поля '/';в системах Microsoft Windows это '\'.и separatorChar создан из

static private FileSystem fs = FileSystem.getFileSystem();
public static final char separatorChar = fs.getSeparator();

Для вас в зависимости от операционной системы разделитель будет изменен при использовании File.separator.используя / в вашем коде, он не будет поддерживать другие ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...