Swift Academy · Leçon

Lecture et écriture de données

Enregistrez les données et les chaînes sur le disque.

Leçon 2 sur 413 étapes

Lecture et écriture de données est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.

Lire et écrire des données

Le type Data de Foundation contient des octets bruts, et String comme Data savent lire depuis des URL de fichiers et y écrire.

Écrire une chaîne

write(to:atomically:encoding:) enregistre une chaîne dans une URL de fichier. Les écritures atomiques utilisent un fichier temporaire pour éviter la corruption.

import Foundation

let url = URL(fileURLWithPath: "/tmp/hello.txt")
try? "Hello, file!".write(to: url, atomically: true, encoding: .utf8)
print("Wrote string to disk")

Lire une chaîne

String(contentsOf:encoding:) charge à nouveau le fichier en mémoire sous forme de texte.

import Foundation

let url = URL(fileURLWithPath: "/tmp/hello.txt")
if let text = try? String(contentsOf: url, encoding: .utf8) {
    print(text)
}

Utiliser des données

Data(contentsOf:) lit n’importe quel fichier sous forme d’octets bruts, ce qui convient aux images, aux archives et aux formats binaires.

import Foundation

let url = URL(fileURLWithPath: "/tmp/hello.txt")
if let data = try? Data(contentsOf: url) {
    print("Byte count: \(data.count)")
}

Écrire des données

data.write(to:) enregistre des octets dans un fichier. Combinez-le avec un encodage pour stocker du texte ou toute charge utile sérialisée.

import Foundation

let bytes = Data([0x48, 0x69])
let url = URL(fileURLWithPath: "/tmp/bytes.bin")
try? bytes.write(to: url)
print("Wrote raw data")

Convertir des données en chaîne

Convertissez des Data en texte avec String(data:encoding:) lorsque vous connaissez l’encodage des octets.

import Foundation

let data = Data([0x48, 0x69])
if let s = String(data: data, encoding: .utf8) {
    print(s)
}

Encoder du JSON

Utilisez JSONEncoder pour transformer une valeur Codable en Data prête à être écrite sur le disque.

import Foundation

struct Note: Codable { let text: String }
let data = try? JSONEncoder().encode(Note(text: "hi"))
let url = URL(fileURLWithPath: "/tmp/note.json")
try? data?.write(to: url)
print("Saved JSON")

Décoder du JSON

Relisez les données, puis décodez-les avec JSONDecoder dans votre type de modèle.

import Foundation

struct Note: Codable { let text: String }
let url = URL(fileURLWithPath: "/tmp/note.json")
if let data = try? Data(contentsOf: url),
   let note = try? JSONDecoder().decode(Note.self, from: data) {
    print(note.text)
}

Écritures atomiques

L’option atomically: true écrit dans un fichier temporaire, puis le renomme ; les lecteurs ne voient donc jamais un fichier partiellement écrit.

import Foundation

let url = URL(fileURLWithPath: "/tmp/safe.txt")
try? "important".write(to: url, atomically: true, encoding: .utf8)
print("Atomic write done")

Gérer les erreurs

Les opérations sur les fichiers peuvent lever des erreurs. Utilisez do/catch pour réagir aux fichiers manquants ou aux problèmes d’autorisation plutôt que de provoquer un plantage.

import Foundation

let url = URL(fileURLWithPath: "/does/not/exist.txt")
do {
    _ = try String(contentsOf: url, encoding: .utf8)
} catch {
    print("Read failed: \(error.localizedDescription)")
}

Ajouter ou remplacer

La méthode de base write(to:) remplace le contenu. Pour ajouter des données, ouvrez un FileHandle et positionnez-vous à la fin avant l’écriture.

import Foundation

let url = URL(fileURLWithPath: "/tmp/log.txt")
if let handle = try? FileHandle(forWritingTo: url) {
    handle.seekToEndOfFile()
    handle.write(Data("line\n".utf8))
    try? handle.close()
}
print("Appended")

Vérification rapide

Que garantit atomically: true lors d’une écriture ?

Récapitulatif

Vous avez lu et écrit du texte avec String(contentsOf:) et write(to:atomically:encoding:), manipulé des octets bruts avec Data, enregistré des modèles via JSONEncoder/Decoder, utilisé des écritures atomiques, intercepté les erreurs et ajouté des données avec FileHandle. Ensuite : gérer les répertoires.

Gratuit pour commencer

Apprends Swift avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
122
Leçons
409

Questions Fréquemment Posées

La leçon « Lecture et écriture de données » est-elle gratuite ?

Oui — le texte complet de « Lecture et écriture de données » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Lecture et écriture de données » ?

Enregistrez les données et les chaînes sur le disque. Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Swift Academy ?

Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Lecture et écriture de données » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?

Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. URL et chemins de fichiers
  2. Lecture et écriture de données
  3. Gestion des répertoires
  4. Répertoires de bac à sable de l’application
← Retour à Swift Academy