42 lines
920 B
Kotlin
42 lines
920 B
Kotlin
package app.extensions
|
|
|
|
import java.math.BigInteger
|
|
import java.security.MessageDigest
|
|
|
|
val String.md5: String
|
|
get() {
|
|
val md = MessageDigest.getInstance("MD5")
|
|
return BigInteger(1, md.digest(this.toByteArray())).toString(16).padStart(32, '0')
|
|
}
|
|
|
|
val String.dirName: String
|
|
get() {
|
|
val parts = this.split(systemSeparator)
|
|
|
|
return if (parts.isNotEmpty())
|
|
parts.last()
|
|
else
|
|
this
|
|
}
|
|
|
|
val String.dirPath: String
|
|
get() {
|
|
val parts = this.split(systemSeparator).toMutableList()
|
|
|
|
return if (parts.count() > 1) {
|
|
parts.removeLast()
|
|
parts.joinToString(systemSeparator)
|
|
} else
|
|
this
|
|
}
|
|
|
|
|
|
val String.lineDelimiter: String?
|
|
get() {
|
|
return if (this.contains("\r\n"))
|
|
"\r\n"
|
|
else if (this.contains("\n"))
|
|
"\n"
|
|
else
|
|
null
|
|
} |