Ответ 1
Косая черта (/) является законным разделителем путей в Windows, а также Unix (включая Linux и Mac OSX). Поэтому, если вам не нужна сборка для работы в других операционных системах, это не должно быть проблемой.
Я не вижу никаких очевидных проблем, но мне интересно, использовать ли /
вместо File.separator
, когда я пишу свои файлы сборки. Использование File.separator
очень затрудняет чтение некоторых путей. Пример:
dependsDir = "${buildDir}${File.separator}depends"
против
dependsDir = "${buildDir}/depends"
Косая черта (/) является законным разделителем путей в Windows, а также Unix (включая Linux и Mac OSX). Поэтому, если вам не нужна сборка для работы в других операционных системах, это не должно быть проблемой.
Gradle по большей части просто полагается на java.io.File
для выполнения всех связанных с контуром операций, которые в свою очередь изящно обрабатывают /
как для Windows, так и для Linux. Поэтому использование /
в Gradle API вряд ли вызовет какие-либо проблемы.
Я использую /
в довольно большом проекте, который работает как на Windows, так и на Linux, и до сих пор у меня не было ни одной проблемы. Надеюсь, это поможет.
в классе файлов
public static final String separator = "" + separatorChar;
где separatorChar - зависимый от системы символ-разделитель по умолчанию. Это поле
инициализируется, чтобы содержать первый символ значения системы
свойство file.separator
. В системах UNIX значение этого
поле '/'
; в системах Microsoft Windows это '\'
.
и разделительChar создан из
static private FileSystem fs = FileSystem.getFileSystem();
public static final char separatorChar = fs.getSeparator();
Для вас на основе вашей операционной системы разделитель будет изменен при использовании File.separator.
используя /
в вашем коде, он не будет поддерживать другую ОС.