Tâche Create File / Dir
Résumé
- Nom interne :
CreateDir - Catégorie : File System
- Objectif : Créer un fichier ou un dossier (récursivement) dans le 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 Create File / Dir crée soit un fichier, soit un dossier, selon le type sélectionné. Les dossiers parents sont créés récursivement si besoin.
Toutes les tâches File System sont confinées au bac à sable AndroMate : /sdcard/AndromateFileTask. Un chemin relatif est résolu dans le bac à sable ; un chemin absolu doit y rester. Toute tentative d'en sortir (ex. avec ../) est rejetée 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 |
|---|---|---|---|---|---|---|
create_type |
Enum / String | Non | Directory ou File |
Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | Directory |
file_path |
String | Oui | Chemin dans le bac à sable (interpolation supportée) | Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | "" |
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([▶ CreateDir]) --> Jail[📂 Création du bac à sable]
Jail --> Validate{Chemin dans le bac à sable ?}
Validate -->|Non| Throw([❌ FILE-TASK-001])
Validate -->|Oui| Type{Type ?}
Type -->|File| MkFile[📄 createFile]
Type -->|Directory| MkDir[📁 createDir]
MkFile --> Success([✅ VoidResult])
MkDir --> Success
style Start fill:#e3f2fd
style Success fill:#c8e6c9
style Throw fill:#ffcdd2
style Jail fill:#fff9c4
style Validate 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 (anti path-traversal)
- Création : un fichier (
createFile) ou un dossier (createDir) est créé, parents inclus - Résultat : retourne
VoidResult
Exemples de code
Exemple 1 — Créer un dossier
{
"CreateDir": [
{
"id": "1",
"title": "Créer dossier rapports",
"create_type": "Directory",
"file_path": "reports/2026"
}
]
}
Exemple 2 — Créer un fichier vide
{
"CreateDir": [
{
"id": "2",
"title": "Créer fichier log",
"create_type": "File",
"file_path": "logs/result.log"
}
]
}
Détails des paramètres d'entrée
create_type — Quoi créer
Directory→ crée un dossier (récursivement)File→ crée un fichier vide (dossiers parents créés si besoin)
file_path — Chemin cible
Chemin dans le bac à sable. Un chemin relatif (reports/2026) est résolu sous /sdcard/AndromateFileTask. Supporte l'interpolation $variable.
Détails des paramètres de sortie
Cette tâche ne produit aucune variable de sortie.