Tâche Write File
Résumé
- Nom interne :
WriteFile - Catégorie : File System
- Objectif : Écrire ou ajouter du texte dans un fichier du bac à sable de fichiers AndroMate.
- Type de tâche : Normale
Compatibilité
-
Version AndroMate minimale :
1.1.0 -
Version AndroMate maximale :
1.1.0 -
Android minimum :
Android 13 (API 33) -
Android testé maximum :
Android 16 (API 36) -
Permissions requises :
MANAGE_EXTERNAL_STORAGE
Description détaillée
La tâche Write File écrit du texte dans un fichier. Le fichier (et ses dossiers parents) est créé automatiquement s'il n'existe pas. Trois modes d'écriture sont disponibles : écraser, ajouter, ou ajouter avec un saut de ligne final.
Toutes les tâches File System sont confinées au bac à sable AndroMate : /sdcard/AndromateFileTask. Un chemin sortant du bac à sable est rejeté avec FILE-TASK-001. Le dossier du bac à sable est créé automatiquement à la première utilisation.
Paramètres d'entrée
| Paramètre | Type | Requis | Valeurs possibles / Règles | Compatibilité Android | Compatibilité AndroMate | Défaut |
|---|---|---|---|---|---|---|
file_path |
String | Oui | Chemin du fichier dans le bac à sable (interpolation supportée) | Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | "" |
content |
String | Oui | Texte à écrire (interpolation supportée) | Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | "" |
mode |
Enum / String | Non | Overwrite, Append, Append Line |
Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | Overwrite |
Paramètres de sortie
Cette tâche ne produit aucune variable de sortie. Elle retourne un VoidResult en cas de succès.
Exceptions
| Code | Condition de déclenchement |
|---|---|
FILE-TASK-001 |
Le chemin est hors du bac à sable AndroMate |
FILE-TASK-002 |
Échec de l'opération système de fichiers (erreur I/O) |
Diagramme d'exécution
flowchart TD
Start([▶ WriteFile]) --> Jail[📂 Création du bac à sable]
Jail --> Validate{Chemin dans le bac à sable ?}
Validate -->|Non| Throw([❌ FILE-TASK-001])
Validate -->|Oui| Mode{Mode ?}
Mode -->|Overwrite| W1[✍️ writeText remplace]
Mode -->|Append| W2[➕ writeText ajoute]
Mode -->|Append Line| W3[↵ writeLine ajoute + newline]
W1 --> Success([✅ VoidResult])
W2 --> Success
W3 --> Success
style Start fill:#e3f2fd
style Success fill:#c8e6c9
style Throw fill:#ffcdd2
style Jail fill:#fff9c4
style Mode fill:#fff9c4
Fonctionnement :
- Bac à sable : le dossier du bac à sable est créé s'il manque
- Validation : le chemin résolu est vérifié comme étant dans le bac à sable
- Écriture : le contenu est écrit selon le mode choisi (fichier créé si absent)
- Résultat : retourne
VoidResult
Exemples de code
Exemple 1 — Écraser un fichier
{
"WriteFile": [
{
"id": "1",
"title": "Sauver config",
"file_path": "config.json",
"content": "{ \"enabled\": true }",
"mode": "Overwrite"
}
]
}
Exemple 2 — Ajouter une ligne de log
{
"WriteFile": [
{
"id": "2",
"title": "Logger étape",
"file_path": "logs/run.log",
"content": "Étape $i terminée",
"mode": "Append Line"
}
]
}
Détails des paramètres d'entrée
file_path — Fichier cible
Chemin dans le bac à sable. Créé automatiquement (avec parents) si absent. Supporte l'interpolation.
content — Texte à écrire
Le texte écrit dans le fichier. Supporte l'interpolation $variable et ${SPECIAL_VAR}.
mode — Mode d'écriture
Overwrite→ remplace tout le contenu du fichierAppend→ ajoute le contenu à la fin (sans saut de ligne)Append Line→ ajoute le contenu à la fin plus un saut de ligne (idéal pour les logs)
Détails des paramètres de sortie
Cette tâche ne produit aucune variable de sortie.