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

1 Answer

0 votes
import Foundation

// Generate a random string of given length
func generateRandomString(_ length: Int) -> String {
    let charset = Array("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
    
    return String((0..<length).map { _ in charset.randomElement()! })
}

// Generate a random date
func generateRandomDate() -> String {
    let year  = Int.random(in: 2000...2020)
    let month = Int.random(in: 1...12)
    let day   = Int.random(in: 1...28)

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

// Generate a random file size
func generateRandomFileSize() -> Int {
    return Int.random(in: 1...100_000)
}

let extensions = [".txt", ".jpg", ".png", ".cpp", ".pdf"]
let numberOfFiles = 10
let fileLength = 9

for _ in 0..<numberOfFiles {
    let fileName = generateRandomString(fileLength)
    let ext = extensions.randomElement()!
    let date = generateRandomDate()
    let fileSize = generateRandomFileSize()

    print("\(fileName)\(ext) \(date) \(fileSize) bytes")
}



/*
run:

FB6mPqSeq.txt 2010-10-04 20258 bytes
Z6NuSVE7P.txt 2011-09-27 12237 bytes
Ok8atoROe.jpg 2016-06-25 46104 bytes
rQVdPBrh1.pdf 2017-04-27 85629 bytes
pStRebMDT.png 2016-07-15 39061 bytes
xtf8b6IYk.txt 2007-07-18 66353 bytes
9qDy6LByM.png 2020-03-25 57955 bytes
AVb0QZAxx.cpp 2014-04-12 71164 bytes
YY5zhSRvX.png 2010-12-16 30188 bytes
XWmUX5Y8F.jpg 2000-11-10 70623 bytes

*/

 



answered 5 hours ago by avibootz

Related questions

...