COMMENT FAIRE : Manipulation des fichiers texte dans une page ASP

Traductions disponibles Traductions disponibles
Numéro d'article: 300982 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F300982
Agrandir tout | Réduire tout

Sommaire

Résumé

Le présent article décrit les procédures à suivre pour créer, écrire, lire, déplacer, copier et supprimer des fichiers texte dans une page ASP (Active Server Pages).

Vous pouvez souhaiter utiliser un fichier texte par souci de simplicité, lorsque le recours à une base de données ou à un format de fichier plus complexe est superflu ou lorsque des données existent déjà sous forme de fichiers texte. Les scénarios les plus courants ont les suivants :
  • Lecture ou écriture d'une table à deux dimensions créée ou utilisée par un gros ordinateur, une application tierce ou un partenaire commercial.
  • Génération dynamique de fichiers séquentiels ou de fichiers de script Windows en fonction de paramètres fournis par une application client.
L'objet COM (Component Object Model) Scripting.FileSystemObject présente un vaste ensemble de fonctions permettant de manipuler les lecteurs, les dossiers et les fichiers. Cet objet FileSystemObject (FSO) est implémenté dans un serveur COM intra-processus appelé ScrObj.dll. Le présent article traite uniquement des fonctions de manipulation de fichiers du modèle objet FSO.

Configuration requise

Votre ordinateur doit exécuter l'un des programmes suivants :

  • Microsoft Internet Information Server (IIS) 4.0 et Active Server Pages (ASP) 2.0.
  • Internet Information Services 5.0 et Active Server Pages 3.0.
Vous pouvez utiliser les techniques générales, à défaut de reproduire l'implémentation dans le détail, avec n'importe quel langage de script prenant en charge la technologie Microsoft COM ; par ailleurs, ces techniques ne se limitent pas à ASP.

Une connaissance de VBScript ou de Jscript facilite la procédure.

Création du modèle objet FileSystemObject

Avant de manipuler les fichiers texte, créez le FSO de la manière suivante :

Code VBScript
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
Code JScript
var objFSO;
objFSO = new ActiveXObject("Scripting.FileSystemObject");

Création, ouverture et suppression de fichiers texte

Le FSO présente la méthode CreateTextFile, qui vous permet de créer un fichier texte vide. Il présente également les méthodes OpenTextFile et DeleteFile, qui vous permettent respectivement d'ouvrir ou de supprimer un fichier existant. Vous pouvez également utiliser l'objet File pour effectuer chacune de ces trois opérations. Pour obtenir une instance de l'objet File, appelez la méthode GetFile du FSO. Notez, toutefois, que seules les méthodes directes sur le FSO sont présentées dans cet article. Veuillez vous reporter à la section " Références " pour plus d'informations sur les techniques s'appliquant à l'objet File.

La méthode OpenTextFile permet d'ouvrir des fichiers pour lire, écrire ou ajouter des informations textuelles.

Code VBScript
Dim objFSO, objCreatedFile, objOpenedFile
Const ForReading = 1, ForWriting = 2, ForAppending = 8

'Crée le FSO.
Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objCreatedFile = objFSO.CreateTextFile("c:\HowToDemoFile.txt", True)
Set objOpenedFile = objFSO.OpenTextFile("c:\HowToDemoFile2.txt", ForWriting, True)

'Utilisation de objCreatedFile et objOpenedFile pour manipuler les fichiers correspondants.
objCreatedFile.Close
objOpenedFile.Close

'Suppression des fichiers.
objFSO.DeleteFile "c:\HowToDemoFile.txt"
objFSO.DeleteFile "c:\HowToDemoFile.txt"
Code JScript
var objFSO, objCreatedFile, objOpenedFile;
var ForReading = 1, ForWriting = 2, ForAppending = 8;

// Création du modèle objet FSO.
objFSO = new ActiveXObject("Scripting.FileSystemObject");

objCreatedFile = objFSO.CreateTextFile("c:\\HowToDemoFile.txt", true);
objOpenedFile = objFSO.OpenTextFile("c:\\HowToDemoFile2.txt", ForWriting, true);

// Utilisation de objCreatedFile et objOpenedFile pour manipuler les fichiers correspondants.
objCreatedFile.Close();
objOpenedFile.Close();

// Suppression des fichiers.
objFSO.DeleteFile("c:\\HowToDemoFile.txt");
objFSO.DeleteFile("c:\\HowToDemoFile2.txt");

Écriture et lecture d'un fichier texte

Les méthodes CreateTextFile ou OpenTextFile du FSO retournent une instance de l'objet TextStream, qui présente les méthodes permettant d'écrire ou de lire des fichiers texte.

Les méthodes Write et WriteLine ajoutent du texte à un fichier ouvert, mais WriteLine ajoute également un caractère final de retour à la ligne. La méthode WriteBlankLines écrit une ou plusieurs lignes vides dans un fichier ouvert en fonction du paramètre spécifié.

La méthode Read lit le nombre de caractères spécifié depuis l'emplacement actuel dans le fichier ouvert. La méthode ReadLine lit une ligne complète (jusqu'au caractère de retour à la ligne, mais en l'excluant), alors que la méthode ReadAll lit le contenu intégral du fichier ouvert. Ces trois méthodes stockent le texte final dans une chaîne que vous pouvez aisément manipuler à l'aide de diverses opérations de manipulation de chaînes.

Le code suivant présente ces méthodes :

Code VBScript
Dim objFSO, objTextFile
Dim sRead, sReadLine, sReadAll
Const ForReading = 1, ForWriting = 2, ForAppending = 8

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("c:\HowToDemoFile.txt", True)

' Écriture d'une ligne contenant un caractère de retour à la ligne.
objTextFile.WriteLine("Cette ligne est écrite à l'aide de WriteLine().")

' Écrit une ligne.
objTextFile.Write ("Cette ligne est écrite à l'aide de Write().")

' Écriture de trois caractères de retour à la ligne dans le fichier.
objTextFile.WriteBlankLines(3)

objTextFile.Close

' Ouverture du fichier en lecture.
Set objTextFile = objFSO.OpenTextFile("c:\HowToDemoFile.txt", ForReading)

' Utilisation des différentes méthodes pour lire le contenu du fichier.
sReadLine = objTextFile.ReadLine
sRead = objTextFile.Read(4)
sReadAll = objTextFile.ReadAll

objTextFile.Close
Code JScript
var objFSO, objTextFile;
var sRead, sReadLine, sReadAll;
var ForReading = 1, ForWriting = 2, ForAppending = 8;

objFSO = new ActiveXObject("Scripting.FileSystemObject");
objTextFile =objFSO.CreateTextFile("c:\\HowToDemoFile.txt", true);

// Écriture d'une ligne contenant un caractère de retour à la ligne.
objTextFile.WriteLine("Cette ligne est écrite à l'aide de WriteLine().");

// Écriture de trois caractères de retour à la ligne dans le fichier.
objTextFile.WriteBlankLines(3);

// Écriture d'une ligne.
objTextFile.Write ("Cette ligne est écrite à l'aide de Write().");
objTextFile.Close();

// Ouverture du fichier en lecture.
objTextFile = objFSO.OpenTextFile("c:\\HowToDemoFile.txt", ForReading);

// Utilisation de différentes méthodes pour lire le contenu du fichier.
sReadLine = objTextFile.ReadLine();
sRead = objTextFile.Read(4);
sReadAll = objTextFile.ReadAll();

objTextFile.Close();

Transfert et copie de fichiers texte

Le FSO présente les méthodes MoveFile et CopyFile, qui vous permettent respectivement de déplacer et de copier des fichiers. Vous pouvez également utiliser l'objet File pour effectuer ces deux opérations. Pour obtenir une instance de l'objet File, appelez la méthode GetFile du FSO. Notez, toutefois, que seules les méthodes directes sur le FSO sont présentées dans cet article. Veuillez vous reporter à la section " Références " pour plus d'informations sur les techniques s'appliquant à l'objet File.

L'exemple de code suivant présente ces méthodes :

Code VBScript
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")

objFSO.MoveFile "c:\HowToDemoFile.txt", "c:\Temp\"
objFSO.CopyFile "c:\Temp\HowToDemoFile.txt", "c:\"
Code JScript
var objFSO;
objFSO = new ActiveXObject("Scripting.FileSystemObject");

objFSO.MoveFile("c:\\HowToDemoFile.txt", "c:\\Temp\\");
objFSO.CopyFile("c:\\Temp\\HowToDemoFile.txt", "c:\\");

PIÈGES À ÉVITER

  • Messages d'erreur lors de la création de Scripting.FileSystemObject :

    Ce problème est vrasemblablement dû à l'occurrence de l'un des scénarios suivants :

    • ScrObj.dll n'a pas été installé sur l'ordinateur de déploiement.
    • ScrObj.dll a été supprimé par erreur.
    • ScrObj.dll a été accidentellement retiré du registre COM.

    Comme ScrObj.dll réside dans le dossier <Répertoire d'installation Windows>\System32, il fait partie des bibliothèques de liaison dynamique (DLL) du système d'exploitation. Ainsi, sur les ordinateurs Windows 2000, il ne peut être supprimé, à moins de recourir à des mesures drastiques qui peuvent affecter sérieusement le système.
  • Messages d'erreur lors de l'exécution des opérations de manipulation de fichiers :

    Si les lecteurs sont formatés à l'aide du système de fichiers NTFS, les utilisateurs appartenant au groupe Administrateurs peuvent contrôler les autorisations de sécurité de l'ensemble des lecteurs, des dossiers et des fichiers. En particulier sur les serveurs Web, les administrateurs doivent mettre en place des autorisations de sécurité drastiques pour empêcher les accès non autorisés aux fichiers et aux informations. Lorsque vous concevez et écrivez une application ASP utilisant les techniques de manipulation mentionnées plus haut, une attention particulière doit être portée aux autorisations de sécurité du système de fichiers sur les ordinateurs de déploiement afin de prévenir les erreurs liées aux insuffisances de sécurité.

RÉFÉRENCES

Pour plus d'informations sur les scripts, consultez les sites MSDN aux adresses suivantes :
Guide de l'utilisateur de FileSystemObject
http://msdn2.microsoft.com/en-us/library/6kxy1a51.aspx

Programmation du modèle objet FileSystemObject
http://msdn2.microsoft.com/en-us/library/6kxy1a51.aspx
Vous pouvez également vous reporter à ces rubriques sur le CD-ROM MSDN d'avril 2001 sous " Documentation concernant la plate-forme SDK " dans les dossiers suivants :
Tools and Scripting\Scripting\Scripting Runtime\FileSystemObject Object

Propriétés

Numéro d'article: 300982 - Dernière mise à jour: mercredi 8 août 2007 - Version: 4.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Active Server Pages 4.0 sur le système suivant
    • Microsoft Windows 2000 Standard Edition
    • Microsoft Windows NT 4.0
Mots-clés : 
kbhowtomaster KB300982
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com