Как извлечь имя пакета из пути к файлу с помощью Apache Ant?
Я хочу, чтобы преобразовать путь к файлу в Android-пакет имя, как показано ниже путь к файлу:
F: \ PartnerFolders \ Modify\ SRC \ COM \ строитель \ компоненты \AlwaysFocusedText.java
я хочу преобразовать
\ Ком \ строитель \ Components \
в
com.builder.components
и переместить этот файл в преобразованный пакет
Заранее спасибо.
1 ответ
Вы пометили ant-contrib, так что вы можете просто использовать 2 propertyregex, если, например, ваш путь к файлу определен в свойстве:
<property name="file.path" value="F:\PartnerFolders\modify\src\com\builder\components\AlwaysFocusedText.java"/>
Затем вы можете получить желаемое имя пакета с помощью следующего кода:
<propertyregex property="stripped.file.path" input="${file.path}" regexp=".*\\src\\(.*)\\.*\.java" select="\1"/>
<propertyregex property="package" input="${stripped.file.path}" regexp="\\" replace="." global="true"/>
Первое свойство regex удалит строку: \ com \ builder \ components \ и сохранит ее в свойстве stripped.file.path. select="\1"
выбирает первую группу, то есть то, что содержится в первых скобках в регулярном выражении. Второе свойство regex заменит \ на . и сохраните его в пакете собственности.