Skip to content

Instantly share code, notes, and snippets.

@daupawar
Last active April 1, 2022 10:49
Show Gist options
  • Save daupawar/51e4a5533af5ea1f8d8ac92fcfaaf1dc to your computer and use it in GitHub Desktop.
Save daupawar/51e4a5533af5ea1f8d8ac92fcfaaf1dc to your computer and use it in GitHub Desktop.
Generate Fake VCF file in kotlin
fun main(args: Array<String>) {
val charPool : List<Char> = ('a'..'z') + ('A'..'Z') + ('0'..'9')
repeat(2) {
val rand = Random()
val stringBuilder = StringBuilder()
stringBuilder.append("BEGIN:VCARD")
stringBuilder.append("\n")
stringBuilder.append("VERSION:3.0")
stringBuilder.append("\n")
val randomString = (1..6)
.map { _ -> kotlin.random.Random.nextInt(0, charPool.size) }
.map(charPool::get)
.joinToString("");
stringBuilder.append("N: $randomString; Cred;;;")
stringBuilder.append("\n")
stringBuilder.append("FN: $randomString Cred")
stringBuilder.append("\n")
val num1: Int = (rand.nextInt(7) + 1) * 100 + rand.nextInt(8) * 10 + rand.nextInt(8)
val num2: Int = rand.nextInt(743)
val num3: Int = rand.nextInt(10000)
val df3 = DecimalFormat("000") // 3 zeros
val df4 = DecimalFormat("0000") // 4 zeros
val phoneNumber =
"+91 " + df3.format(num1.toLong()) + "-" + df3.format(num2.toLong()) + "-" + df4.format(num3.toLong())
stringBuilder.append("TEL;TYPE=CELL:$phoneNumber")
stringBuilder.append("\n")
stringBuilder.append("END:VCARD")
println(stringBuilder.toString())
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment