1

There's an online site here called Repl.it that gives you an in-browser REPL environment for a ton of languages. It's great to prove out code that you post here on SO. (I think you can even include it here actually but I wasn't successful in embedding mine.)

Anyway, when using Swift, I'm wondering if it's possible to perform file read/write persistence up there. I haven't found any articles that say yes, but I have found some that show them talking about how much storage you have, and it is supposed to be the full Swift runtime with all features, so I'm not sure.

This code fails however, saying it can't be performed.

import Foundation

let file = "file.txt" //this is the file. we will write to and read from it

let text = "some text" //just a text

if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {

    let fileURL = dir.appendingPathComponent(file)

    //writing
    do {
        try text.write(to: fileURL, atomically: false, encoding: .utf8)
    }
    catch {
        print(error)
    }

    //reading
    do {
        let text2 = try String(contentsOf: fileURL, encoding: .utf8)
        print("Read back in '\(text2)'")
    }
    catch {/* error handling here */}
}
else{
    print("Couldn't get document directory")
}

You can open it here... Swift File Persistence REPL

I admit I'm 90% sure this isn't the right place for this, but since Repl.it does let you play with and execute Swift and this is a question about what Swift is needed to accomplish this, I figured I'd try!

Mark A. Donohoe
  • 28,442
  • 25
  • 137
  • 286

0 Answers0