Aller au contenu

Tâche Read File

Résumé

  • Nom interne : ReadFile
  • Catégorie : File System
  • Objectif : Lire le contenu texte d'un fichier (jusqu'à 1 Mo) dans une variable de workflow.
  • 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 Read File lit le contenu texte UTF-8 d'un fichier et le stocke dans la variable value_output.

Pour protéger la mémoire de l'appareil et éviter des variables de workflow gigantesques, la taille du fichier est plafonnée à 1 Mo. Un fichier plus gros est rejeté avec FILE-TASK-003 au lieu d'être chargé. Une variable de workflow est faite pour du texte exploitable (config, petit JSON, résultats), pas pour de gros fichiers.

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 contenu est retourné en texte brut, non parsé. Pour manipuler du JSON ensuite, chaîne une tâche JSON Object Operation.


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 — max 1 Mo Android 13 (API 33) → Android 16 (API 36) 1.1.0 → 1.1.0 ""

Paramètres de sortie

Champ Type Condition de déclenchement Compatibilité Android Compatibilité AndroMate Défaut
value_output String En cas de succès — le contenu texte du fichier Android 13 (API 33) → Android 16 (API 36) 1.1.0 → 1.1.0 <ANDROMATE_NULL_VALUE>

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 (ex. fichier introuvable)
FILE-TASK-003 Fichier trop volumineux à lire (plus de 1 Mo)

Diagramme d'exécution

flowchart TD
    Start([▶ ReadFile]) --> Jail[📂 Création du bac à sable]

    Jail --> Validate{Chemin dans le bac à sable ?}

    Validate -->|Non| ThrowJail([❌ FILE-TASK-001])
    Validate -->|Oui| Size{Taille <= 1 Mo ?}

    Size -->|Non| ThrowBig([❌ FILE-TASK-003])
    Size -->|Oui| Read[📖 readText UTF-8]

    Read --> Store[💾 Définir value_output]

    Store --> Success([✅ StrTaskResult])

    style Start fill:#e3f2fd
    style Success fill:#c8e6c9
    style ThrowJail fill:#ffcdd2
    style ThrowBig fill:#ffcdd2
    style Read fill:#f3e5f5
    style Store fill:#c8e6c9

Fonctionnement :

  1. Bac à sable : le dossier du bac à sable est créé s'il manque
  2. Validation : le chemin résolu est vérifié comme étant dans le bac à sable
  3. Garde-fou taille : si le fichier dépasse 1 Mo, lève FILE-TASK-003
  4. Lecture : le fichier est lu en texte UTF-8
  5. Stockage : le contenu est écrit dans value_output
  6. Résultat : retourne StrTaskResult

Exemples de code

Exemple 1 — Lire un fichier de config dans une variable

{
  "ReadFile": [
    {
      "id": "1",
      "title": "Lire config",
      "file_path": "config.json",
      "value_output": "$config"
    }
  ]
}

Exemple 2 — Lire puis parser du JSON

{
  "ReadFile": [
    {
      "id": "1",
      "title": "Lire données",
      "file_path": "data.json",
      "value_output": "$raw_json"
    }
  ]
}

(puis utiliser une tâche JSON Object Operation sur $raw_json)


Détails des paramètres d'entrée

file_path — Fichier à lire

Chemin dans le bac à sable. Le fichier ne doit pas dépasser 1 Mo, sinon la tâche lève FILE-TASK-003. Supporte l'interpolation $variable.


Détails des paramètres de sortie

value_output — Contenu du fichier

Stocke le contenu texte UTF-8 brut du fichier dans la variable de workflow spécifiée. Le contenu n'est pas parsé — utilise une tâche JSON Object Operation pour traiter des données structurées.


Exemple JSON complet

{
  "ReadFile": [
    {
      "id": "1",
      "title": "Read File",
      "file_path": "logs/result.log",
      "value_output": "$FILE_CONTENT"
    }
  ]
}