Comment développer un lecteur de fichier texte en JavaScript ?

Pour pouvoir lire un fichier situé sur un ordinateur, il est recommandé d'utiliser l'objet XMLHttpRequest.

Le langage JavaScript offre un grand nombre de possibilités. Bien qu'adapté en priorité pour le web, son usage peut être détourné pour par exemple réaliser une méthode capable de lire un fichier texte situé sur votre ordinateur.

Pour pouvoir lire un fichier situé sur un ordinateur, nous allons utiliser l'objet XMLHttpRequest. Cet objet permet en principe d'effectuer des requêtes sur un serveur web, mais il peut être utilisé pour récupérer un fichier de l'ordinateur. Pour exécuter la méthode à la fin du chargement du fichier, il faut ajouter une fonction sur l'événement "onreadystatchange", qui correspond au changement d'état de la requête. Lorsque la valeur de l'état est égale à "4", alors le fichier a été entièrement chargé. Avec un chargement de fichier, il n'y a pas de serveur web qui retourne un statut pour la requête. Vous devez donc vérifier que le statut est égal à 0 avant de traiter le texte.

function lireFichierTexte(fichier)
{
 //On lance la requête pour récupérer le fichier
 var fichierBrut = new XMLHttpRequest();
 fichierBrut.open("GET", fichier, false);
 //On utilise une fonction sur l'événement "onreadystate"
 fichierBrut.onreadystatechange = function ()
 {
 if(fichierBrut.readyState === 4)
 {
 //On contrôle bien quand le statut est égal à 0
 if(fichierBrut.status === 200 || fichierBrut.status == 0)
 {
 //On peut récupérer puis traiter le texte du fichier
 var texteComplet = fichierBrut.responseText;
 alert(texteComplet);
 }
 }
 }
 fichierBrut.send(null);
}

L'objet XMLHttpRequest nécessite un protocole pour accéder au fichier. Pour accéder à un fichier situé sur son ordinateur, on utilise le protocole "file:///". La fonction s'appelle donc comme ceci :
lireFichierTexte("file:///C:/votre/chemin/vers/le/fichier.txt");

JavaScript