How to create a list of random file names, including extension, dates, and file size in Kotlin

1 Answer

0 votes
import kotlin.random.Random

// Generate a random string of given length
fun generateRandomString(length: Int): String {
    val charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    return buildString(length) {
        repeat(length) {
            append(charset[Random.nextInt(charset.length)])
        }
    }
}

// Generate a random date
fun generateRandomDate(): String {
    val year = Random.nextInt(2000, 2021)   // 2000–2020
    val month = Random.nextInt(1, 13)       // 1–12
    val day = Random.nextInt(1, 29)         // 1–28

    return "%04d-%02d-%02d".format(year, month, day)
}

// Generate a random file size
fun generateRandomFileSize(): Int {
    return Random.nextInt(1, 100_001)       // 1–100000 bytes
}

fun main() {
    val extensions = listOf(".txt", ".jpg", ".png", ".cpp", ".pdf")
    val numberOfFiles = 10
    val fileLength = 9

    repeat(numberOfFiles) {
        val fileName = generateRandomString(fileLength)
        val extension = extensions.random()
        val date = generateRandomDate()
        val fileSize = generateRandomFileSize()

        println("$fileName$extension $date $fileSize bytes")
    }
}



/*
run:

8OwQIB1OA.png 2009-11-03 22081 bytes
NGnQeg0W4.png 2017-01-18 30807 bytes
r79DV3gyk.pdf 2014-01-02 81783 bytes
JSYubC0q4.jpg 2001-02-19 91443 bytes
WLxWsbTFU.pdf 2019-09-16 74495 bytes
SQzti0Xlo.cpp 2002-01-04 83266 bytes
njpM3HaeS.jpg 2013-06-17 6149 bytes
8ekNZDyjK.png 2014-01-13 32864 bytes
Fi8G3YquR.png 2016-12-13 55878 bytes
u74eqvUtb.txt 2004-11-15 63307 bytes

*/

 



answered 5 hours ago by avibootz

Related questions

...