Aller au contenu

    Scripting OJS : écrire dans un fichier texte externe avec la fonction « fileOutputStream »

    Introduction

    Il peut-être utile de générer un fichier au format texte depuis le client léger (pour générer le log d’un traitement applicatif par exemple). La fonction standard OJS « fileOutputStream » permet de gérer ce type d’export.

    Processus output

    Création d’un fichier texte avec la fonction « fileOutputStream »

    Contexte d'utilisation

    Ce type d’export est plus flexible que les exports standardisés Planisware à partir d’un format d’import/export ou les export Excel. Bien évidement on privilégiera les exports Excel classiques lorsqu’il s’agira d’exporter une table existante.

    Principe

    Le principe général d’utilisation de la fonction « fileOutputStream » pour écrire dans un fichier de log est le suivant :

    1- Création et ouverture du fichier
    2- Ecriture dans le fichier
    3- Fermeture du fichier

    Argument de la fonction

    fileOutputStream(FILE,OPEN_MODE,PASSWORD)

    Avec :

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

    Argument Type Description Obligatoire
    File
    String
    Nom complet fichier d’export que l’on souhaite générer (répertoire + nom). Ce peut également être un chemin FTP. Dans ce cas un mot de passe est nécessaire.
    Oui
    OPEN_MODE
    String
    Type d’ouverture du fichier (« OVERWRITE » ou « APPEND »). APPEND : ajoute à la suite du fichier OVERWRITE : réécrit sur le fichier existant s’il existe déjà.

    Oui

    PASSWORD
    String
    Le mot de passe est utilisé seulement pour les chemins FTP
    Non

    Exemple d'utilisation

    L’exemple suivant va générer sous le répertoire « C:\Users\PLW_USER\Desktop\ » un fichier nommé « test.log ».

    var file = new fileOutputStream(« C:\Users\PLW_USER\Desktop\test.log », »OVERWRITE »);
    file.write(« Ceci est un test »);
    file.write(« Voici la dernière ligne du fichier ! »);
    file.close();

    Le fichier obtenu sera donc le suivant :

    Ceci est un test
    Voici la dernière ligne du fichier !