Swift:
Tekstitiedoston kirjoittaminen

Miten:

Käyttäen Swiftin vakiokirjastoa

Swiftin vakiokirjasto sisältää kaikki tarvittavat työkalut tekstitiedostojen kirjoittamiseen. Tässä on peruslähestymistapa:

import Foundation

let sisalto = "Hei, Wiredin lukijat! Swiftin opiskelu on hauskaa."
let tiedostoPolku = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let tiedostoNimi = "\(tiedostoPolku)/esimerkki.txt"

do {
    try sisalto.write(toFile: tiedostoNimi, atomically: false, encoding: String.Encoding.utf8)
    print("Tiedosto kirjoitettu onnistuneesti")
} catch let error as NSError {
    print("Kirjoittaminen URLiin epäonnistui: \(tiedostoNimi), Virhe: " + error.localizedDescription)
}

Tämä koodipätkä kirjoittaa merkkijonon nimellä esimerkki.txt sijaintiin dokumenttien kansio. Se käsittelee mahdolliset virheet käyttäen Swiftin do-try-catch-virheenkäsittelyä.

Käyttäen FileManageria lisäkontrolliin

Lisäkontrolliin tiedoston attribuuteista tai tarkistaaksesi, olemassaoleeko tiedosto jo, voi käyttää FileManageria:

import Foundation

let tiedostonhallinta = FileManager.default
let hakemistot = tiedostonhallinta.urls(for: .documentDirectory, in: .userDomainMask)
if let dokumenttihakemisto = hakemistot.first {
    let tiedostoURL = dokumenttihakemisto.appendingPathComponent("esimerkki.txt")
    let sisalto = "Swiftin tutkiminen tiedostonhallintaa varten on valaisevaa."

    if tiedostonhallinta.fileExists(atPath: tiedostoURL.path) {
        print("Tiedosto on jo olemassa")
    } else {
        do {
            try sisalto.write(to: tiedostoURL, atomically: true, encoding: .utf8)
            print("Tiedosto luotu ja kirjoitettu onnistuneesti")
        } catch {
            print("Tiedoston kirjoitusvirhe: \(error)")
        }
    }
}

Käyttäen kolmannen osapuolen kirjastoja

Yksi suosittu kolmannen osapuolen kirjasto tiedostojärjestelmätoimintojen käsittelyyn Swiftissä on Files John Sundelliltä:

Lisää ensin Files projektiisi, yleensä Swift Package Managerin kautta.

// swift-tools-version:5.3
import PackageDescription

let paketti = Package(
    name: "PaketinNimesi",
    dependencies: [
        .package(url: "https://github.com/JohnSundell/Files", from: "4.0.0"),
    ],
    targets: [
        .target(
            name: "KohdeNimesi",
            dependencies: ["Files"]),
    ]
)

Käytä sitten sitä kirjoittaaksesi tiedostoon:

import Files

do {
    let tiedosto = try File(path: "/polku/sinun/hakemistoosi/esimerkki.txt")
    try tiedosto.write(string: "Swift ja Files-kirjasto muodostavat tehokkaan yhdistelmän.")
    print("Tiedosto kirjoitettu onnistuneesti käyttäen Files-kirjastoa.")
} catch {
    print("Tapahtui virhe: \(error)")
}

Files-kirjaston avulla tiedostojen käsittely muuttuu suoraviivaisemmaksi, mikä mahdollistaa keskittymisen sovelluksesi liiketoimintalogiikkaan sen sijaan, että huolehtisit tiedostonhallinnan yksityiskohdista.