Groovy: Thay thế một chuỗi ký tự trong một String và tải một Properties từ một tệp
Đăng ngày 17 July 2019
Đây là một đoạn mã hoạt động được bằng groovy,
để thay đổi tất cả các lần xuất hiện của một chuỗi ký tự trong một String
và tải một tệp .properties vào một đối tượng properties.
Thực thi một lệnh trong một String.
replaceTextinFile.groovy
#!/usr/bin/env groovy
println System.getProperty("user.home")
static String getSeparator_() {
System.getProperty("file.separator")
}
String separator = separator_
String path = System.getProperty("user.home")
.concat("${separator}.gradle" +
separator +
"gradle.properties")
File propertiesFile = new File(path)
assert propertiesFile.exists() && !propertiesFile.directory
Properties gradleProperties = new Properties()
propertiesFile.withInputStream { InputStream it ->
gradleProperties.load(it)
}
String user_name = gradleProperties.getProperty("user_name")
String text
String resultText
text = new File("${System.getProperty("user.home")}" +
separator +
"src" +
separator +
"cheroliv.github.io" +
separator +
"src" +
separator +
"main" +
separator +
"resources" +
separator +
"eco_space.txt").text
String to = separator +
"media" +
separator +
"${user_name}" +
separator +
"320" +
separator +
"videoCours" +
separator
String from = "${System.getProperty("user.home")}" +
separator +
"p2p" +
separator
resultText = text.replace(to, from)
println resultText
//execute command line in a string
println "rsync -avr ${resultText} ${to}".execute().text