Lors du développement d'applications WEB, nous devons souvent traiter des lecteurs, des dossiers et des fichiers dans le système de fichiers, comme collecter des informations relatives au lecteur ; créer, ajouter, déplacer ou supprimer des dossiers et des fichiers, etc. Dans VB6, un nouveau modèle objet appelé FSO (File System Object) est fourni pour accéder au système de fichiers. Ce modèle fournit un outil basé sur les objets. Grâce à une série de propriétés et de méthodes qu'il fournit, nous pouvons effectuer diverses opérations sur le système de fichiers de manière plus simple et plus flexible dans l'application.
1. Introduction à FSO Le modèle objet FSO comprend les objets suivants :
Objet Lecteur : permet la collecte d'informations telles que l'espace disponible et les noms de partage de lecteurs tels que les disques durs et les CD-ROM qui sont physiquement connectés au système ou qui sont logiquement connectés au système via le réseau local.
Objet dossier : permet de créer, supprimer ou déplacer des dossiers, et d'interroger le système pour connaître le nom, le chemin, etc. du dossier.
Objet Fichiers : vous permet de créer, supprimer ou déplacer des fichiers, et d'interroger le système pour connaître les noms de fichiers, les chemins, etc.
Objet TextStream : permet la création, la lecture et l'écriture de fichiers texte.
Objet FileSystemObject : fournit un ensemble complet de méthodes pour les opérations sur les lecteurs, les dossiers et les fichiers. Fonctionnellement, il peut être considéré comme une collection des objets ci-dessus et est souvent utilisé en conjonction avec eux. La plupart des méthodes associées à cet objet dupliquent celles des quatre objets précédents, nous pouvons donc effectuer la plupart des opérations sur les lecteurs, dossiers et fichiers soit via l'objet FileSystemObject, soit via l'objet lecteur, dossier ou fichier correspondant. Le modèle FSO implémente des opérations sur le même objet via deux méthodes, et les effets des opérations sont les mêmes. Le but de fournir cette fonction redondante est d'obtenir une flexibilité de programmation maximale.
Dans cet article, nous expliquerons le fonctionnement des fichiers texte à l'aide de l'objet TextStream du modèle objet FSO.
(1) Utilisez FileSystemObject pour obtenir des objets de fichier texte 1. Créer une instance d'objet FileSystemObject Pour effectuer des opérations sur les fichiers, vous devez d'abord créer une instance d'objet FileSystemObject pour créer ou ouvrir un fichier. Le format spécifique pour créer une instance d'objet FileSystemObject est (en prenant AFileSystemObject) comme exemple :
Définir AFileSystemObject = CreateObject("Scripting.FileSystemObject")
2. Utilisez FileSystemObject pour obtenir l'objet fichier texte TextStream
FileSystemObject fournit deux méthodes pour obtenir des objets de fichier texte TextStream, parmi lesquels CreateTextFile est utilisé pour créer des fichiers et OpenTextFile est utilisé pour ouvrir des fichiers existants. Le résultat de retour des deux méthodes est une instance de l'objet TextStream. Des opérations spécifiques sur les fichiers peuvent être utilisées. être effectué.
⑴Créer un nouveau fichier Le format spécifique de la méthode de création d'un nouveau fichier est (prenons AFileSystemObject comme exemple) :
AFilesystemObject.CreateTextFile (NewFileName, OverwriteExistingFile, IsUnicode)
dans:
NewFileName est une valeur de chaîne qui spécifie le nom du fichier à créer, généralement le chemin réel du fichier plus le nom du fichier, tel que C:webshareaspsampfiletest.txt
OverwriteExistingFile est une valeur booléenne indiquant s'il faut écraser le fichier d'origine si un fichier portant le même nom existe. Ce paramètre peut être omis et la valeur par défaut est False, ce qui signifie que le fichier d'origine ne sera pas écrasé.
IsUnicode est une valeur booléenne indiquant si le fichier à créer est un fichier ASCII ou un fichier Unicode.
Ce paramètre peut être omis et la valeur par défaut est False, qui est un fichier ASCII.
⑵ Ouvrir un fichier existant Le format spécifique de la méthode d'ouverture d'un fichier existant est (prenons AFileSystemObject comme exemple) :
AFilesystemObject.OpenTextFile (FileName, IOMode, créer, formater)
dans:
FileName est une valeur de chaîne qui spécifie le nom du fichier à ouvrir, généralement le chemin réel du fichier plus le nom du fichier, C:filepathtest.txt
IOMode est une valeur constante, indiquant le but de l'ouverture du fichier, et ForReading(1) signifie lire des données ;
ForAppending signifie utilisé pour ajouter des données. Ce paramètre peut être omis et la valeur par défaut est ForReading.
Create est une valeur booléenne indiquant s'il faut créer un nouveau fichier lorsque le fichier à ouvrir n'existe pas.
Ce paramètre peut être omis et la valeur par défaut est False, ce qui signifie qu'aucun nouveau fichier ne sera créé.
Le format représente la manière dont le fichier est ouvert. Ses valeurs et significations possibles sont les suivantes :
TristateTrue : ouvrir en mode Unicode.
TristateFalse : Ouvrir en mode ASCII.
TristateUseDefault : ouvert dans le mode par défaut du système.
Ce paramètre peut être omis et la valeur par défaut est TristateFalse, qui est le mode ASCII.
(deux). Utilisation de TextStream pour les opérations sur les fichiers Après avoir créé ou ouvert un fichier, vous pouvez utiliser les méthodes fournies par l'objet TextStream pour effectuer des opérations sur les fichiers.
1. Les méthodes utilisées pour les opérations d'écriture sont :
⑴Écrire(chaîne)
Écrit la chaîne spécifiée par string dans le fichier.
⑵WriteLine(chaîne)
Écrit la chaîne spécifiée par string dans le fichier et écrit un caractère de nouvelle ligne.
La chaîne de paramètres peut être omise, auquel cas une ligne vide sera insérée dans le fichier.
⑶Écrire des lignes blanches (NumOfLines)
Insérez un certain nombre de lignes vides dans le fichier, le nombre de lignes est spécifié par NumOfLines.
2. Les méthodes et méthodes d'attribut utilisées pour les opérations de lecture sont :
⑴ÀFinDeLigne
Cet attribut est une valeur booléenne indiquant si le pointeur de fichier pointe vers la fin de la ligne en cours.
⑵AtEndOfStream
Cet attribut est une valeur booléenne indiquant si le pointeur de fichier pointe vers la fin du fichier.
⑶ Colonne
Cet attribut est une valeur entière représentant la position du pointeur de fichier dans la ligne courante.
⑷Ligne
Cet attribut est une valeur entière représentant le numéro de ligne de la ligne où se trouve le pointeur de fichier.
⑸ Lire (NumOfCharacters)
Cette méthode part de la position actuelle du fichier, lit un nombre de caractères spécifié par le nombre de NumOfCharacters et renvoie une chaîne.
⑹LireLigne
Cette méthode part de la position actuelle du fichier, lit le contenu de la ligne actuelle jusqu'à la fin de la ligne et renvoie une chaîne.
⑺Lire tout
Cette méthode part de la position actuelle, lit le contenu de l'intégralité du fichier jusqu'à la fin du fichier et renvoie une chaîne.
⑻ Sauter (NumOfCharacters)
Cette méthode part de la position actuelle du fichier et ignore un certain nombre de caractères spécifiés par le numéro NumOfCharacters.
⑼SkipLine
Cette méthode part de la position actuelle du fichier et ignore le contenu de la ligne actuelle.
3. Les méthodes utilisées pour fermer les fichiers sont :
⑴ Fermer
Fermez les fichiers déjà créés ou ouverts.
(3) Voici un exemple pour illustrer comment utiliser FSO pour lire des fichiers texte et les enregistrer dans la base de données :
1. Créez d'abord une page pour lire le chemin du fichier : file.htm
...
<FORM METHOD=POST ACTION= "upFile .asp" >
<div align="center"> <br>
<br>
<br>
<br>
<input type="file" name="path" size="40">
<INPUT TYPE="submit " name ="dr" value="Import information">
</div>
</FORM>
…
2. Écrivez le code pour enregistrer la valeur texte obtenue dans la base de données : upFile.asp
<%Response .Buffer=true%>
<!--#include file="adovbs.inc"-->
<%
strConn="DSN=DataSourceName"
set Conn=Server.CreateObject("ADODB.Connection")
Conn.open strConn
set ObjComm =Server.CreateObject("ADODB.Command")
ObjComm.CommandText="sp_AddMsg" 'Appeler la procédure stockée
ObjComm.CommandType=adCmdStoredProc
Set ObjComm.ActiveConnection=Conn
''''''''''Créer une entrée et paramètres de sortie''' '''''''''''''
Set ObjParamECom=ObjComm.CreateParameter("WC_ECompanyName",adVarchar,adParamInput,100)
ObjComm.Parameters.Append ObjParamECom
'@in_ECompanyName Varchar(50), --Nom anglais de l'entreprise
Set ObjParamAddr=ObjComm.CreateParameter("WC_Address",adVarchar,adParamInput,200)
ObjComm.Parameters.Append ObjParamAddr
'@in_Address Varchar(50), --Adresse de l'entreprise
Set ObjParamCity=ObjComm.CreateParameter("WC_City" ,adVarchar,adParamInput, 100)
ObjComm.Parameters.Append ObjParamCity
'@in_City Varchar(50), --City
...
'''''''''' Création du paramètre terminée'''''''''' '''''' '''
%>
<%
dim AllText,strLine1,strLine2,strLine3
dim strpath,filurl
fileurl=""
strpath=Trim(Request.form("path"))
fileurl=strpath
SET FSO=CreateObject( "Scripting.FileSystemObject")
SET ATextStream=FSO.OpenTextFile(fileurl,1,false,TristateFalse)
'''''''''Extraire les données'''''''''''''''''' '''' ''''
FAIRE PENDANT QUE PAS ATextStream.AtEndOfStream
''''''Initialiser les variables'''''''''''''
strLine1=""
strLine2=""
strLine3=""
…
' '''''''''''''''''''''''''
ATextStream.SkipLine
ATextStream.Skip(11)
strLine1=Trim(ATextStream.ReadLine)
ATextStream.Skip(11 )
strLine2=Trim(ATextStream.ReadLine)
ATextStream.Skip(5)
strLine3=Trim(ATextStream.ReadLine)
…
'Fin si
''''''''''Ajouter la variable au jeu de paramètres'''''' '' '''''
ObjParamECom.value=strLine1
ObjParamCCom.value=strLine2
ObjParamAddr.value=strLine3
...
'''''''''L'opération se termine''''''''''''' ''' '''
ObjComm.Execute() 'Exécuter la commande
LOOP
réponse.write "<br>"+"Importer la bibliothèque avec succès ! <a href=dolist.html>[Continuer l'importation]</a><br>"
set Conn=nothing
set FSO=nothing
set ATextStream=nothing
%>
Pièce jointe : procédure stockée code sp_AddMsg
CREATE PROCEDURE dbo.sp_AddMsg -- Importer des entreprises étrangères Informations
(
@in_CompanyName Varchar(100), --Nom de la société
@in_Address Varchar(200), --Adresse de la société
@in_City Varchar(100), --Ville de la société
...
)
AS
SET NOCOUNT ON
BEGIN TRAN
INSERT INTO Tb_WCLibrary(
WC_CompanyName ,
WC_CCompanyName,
WC_Address,
…
)
VALUES(
@in_CompanyName,
@in_CCompanyName,
@in_Address,
…
)
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
RETURN -1
END
COMMIT TRAN
RETURN 0
SET NOCOUNT OFF
À ce stade, l'explication en texte intégral est terminé, j'espère que cet article L'article pourra apporter de l'aide aux lecteurs.