[ CORDOVA / PHONEGAP ] Lire & Ecrire facilement dans un fichier

imrs

 

 

Salut à tous,

 

Voilà, ça fait 2/3 ans que je développe des applications mobiles avec Cordova.
Comme beaucoup, j'ai été confronté à la question :

Où et comment stocker mes données ?

 

Aussi j'ai testé plusieurs solutions :

  • La plus pratique "SqLite"
  • La plus simple, le "Bon Vieux Fichier Texte" *

 

* Bon je vous rassure, le SQLlite, est aussi un bon vieux fichier texte  ;)
Sauf qu'il y a un formatage particulier, pour pouvoir accueillir les données dans une structure (base / table / colonne ... ) ;)

Bref, en ce qui concerne la manière de faire pour créer / écrire / lire un fichier, Cordova permet tout un tas de choses !
Mais peut-être un peu trop ... et ça a tendance à en larguer pas mal !

 

Aussi, je me suis dit Aujourd'hui, qu'il serait cool de partager avec vous, un petit bout de code qui vous permettra d'écrire et de lire un fichier simplement !!!

 

Pour cela, il vous faut installer un plugin ...
Ce plugin ... répond au doux nom de "cordova-plugin-file" :

 

cordova plugin add cordova-plugin-file

ou

phonegap plugin add cordova-plugin-file

 

Une fois ce plugin installé vous pourrez :

 

Ecrire dans un fichier :

 

Fichier = "MonFichier.txt";
Texte   = "Je suis un super Dyrknaute !"

fail          = function (e         )  { alert(JSON.stringify(e));  }
gotFileWriter = function (writer    )  {  writer.write(Email); };
gotFileEntry  = function (fileEntry )  { fileEntry.createWriter(gotFileWriter, fail); };
gotFS         = function (fileSystem)  { fileSystem.root.getFile(Fichier, {create: true, exclusive: false}, gotFileEntry, fail); };
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);

 

Lire dans un fichier : 

 

Fichier = "MonFichier.txt" ;


gotFileReader  = function (file    )    { reader=new FileReader(); reader.onloadend =function(e){  

                                                    //On récupère ici le contenu du fichier
                                                    ContenuDuFichier = e.target._result;

                                         };  reader.readAsText(file);  };
fail           = function (e        )  { alert(JSON.stringify(e)); }
gotFileEntry  = function (fileEntry )  { fileEntry.file(gotFileReader, fail); }
gotFS         = function (fileSystem)  { fileSystem.root.getFile(Fichier, null, gotFileEntry, fail); }
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);

 

 

Et voilà, un simple copier - coller, qui pourra surement faire gagner pas mal de temps à plusieurs d'entre vous ;)

Partagez ce contenu

2 comments

  • Bonjour,
    Je cherche une solution pour copier un fichier dont je récupère l’uri (file:///android-asset/www/…mondoc.doc) et je souhaite le faire passer dans Download de l’utilisateur.
    J’ai essayé pas mal de solutions sans succès (en utilisant plugin.file).

    Pouvez-vous me donner la commande qui permet de le faire

Laisser une réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *