Al desarrollar aplicaciones WEB, a menudo necesitamos procesar unidades, carpetas y archivos en el sistema de archivos, como recopilar información relacionada con las unidades, crear, agregar, mover o eliminar carpetas y archivos, etc. En VB6, se proporciona un nuevo modelo de objetos llamado FSO (Objeto del sistema de archivos) para acceder al sistema de archivos. Este modelo proporciona una herramienta basada en objetos. A través de una serie de propiedades y métodos que proporciona, podemos realizar varias operaciones en el sistema de archivos de manera más simple y flexible en la aplicación.
1. Introducción a FSO El modelo de objetos FSO incluye los siguientes objetos:
Objeto de unidad: permite recopilar información como espacio disponible y compartir nombres de unidades como discos duros y CD-ROM que están conectados físicamente al sistema o lógicamente conectados al sistema a través de LAN.
Objeto de carpeta: le permite crear, eliminar o mover carpetas y consultar al sistema el nombre, ruta, etc. de la carpeta.
Objeto de archivos: le permite crear, eliminar o mover archivos y consultar al sistema nombres de archivos, rutas, etc.
Objeto TextStream: permite la creación, lectura y escritura de archivos de texto.
Objeto FileSystemObject: proporciona un conjunto completo de métodos para operaciones de unidades, carpetas y archivos. Funcionalmente, puede considerarse como una colección de los objetos anteriores y, a menudo, se utiliza junto con ellos. Muchos de los métodos asociados con este objeto duplican los de los cuatro objetos anteriores, por lo que podemos realizar la mayoría de las operaciones en unidades, carpetas y archivos a través del objeto FileSystemObject o mediante la unidad, carpeta u objeto de archivo correspondiente. El modelo FSO implementa operaciones en el mismo objeto a través de dos métodos y los efectos de la operación son los mismos. El propósito de proporcionar esta función redundante es lograr la máxima flexibilidad de programación.
En este artículo, explicaremos el funcionamiento de archivos de texto utilizando el objeto TextStream del modelo de objetos FSO.
(1) Utilice FileSystemObject para obtener objetos de archivos de texto 1. Crear una instancia de objeto FileSystemObject Para realizar operaciones con archivos, primero debe crear una instancia de objeto FileSystemObject para crear o abrir un archivo. El formato específico para crear una instancia de objeto FileSystemObject es (tomando AFileSystemObject) como ejemplo:
Establecer AFileSystemObject = CreateObject ("Scripting.FileSystemObject")
2. Utilice FileSystemObject para obtener el objeto de archivo de texto TextStream
FileSystemObject proporciona dos métodos para obtener objetos de archivos de texto TextStream, entre los cuales CreateTextFile se usa para crear archivos y OpenTextFile se usa para abrir archivos existentes. El resultado de ambos métodos es una instancia del objeto TextStream. Utilice este objeto para realizar operaciones específicas en archivos. realizarse.
⑴Cree un archivo nuevo. El formato específico del método para crear un archivo nuevo es (tome AFileSystemObject como ejemplo):
AFilesystemObject.CreateTextFile(Nuevo nombre de archivo, sobrescribir archivo existente, es Unicode)
en:
NewFileName es un valor de cadena que especifica el nombre del archivo que se creará, normalmente la ruta real del archivo más el nombre del archivo, como C:webshareaspsampfiletest.txt
OverwriteExistingFile es un valor booleano que indica si se debe sobrescribir el archivo original si existe un archivo con el mismo nombre. Este parámetro se puede omitir y el valor predeterminado es Falso, lo que significa que el archivo original no se sobrescribirá.
IsUnicode es un valor booleano que indica si el archivo que se creará es un archivo ASCII o Unicode.
Este parámetro se puede omitir y el valor predeterminado es Falso, que es un archivo ASCII.
⑵ Abrir un archivo existente El formato específico del método para abrir un archivo existente es (tome AFileSystemObject como ejemplo):
AFilesystemObject.OpenTextFile(Nombre de archivo,ModoIO,crear,formato)
en:
FileName es un valor de cadena que especifica el nombre del archivo que se va a abrir, normalmente la ruta real del archivo más el nombre del archivo, C:filepathtest.txt
IOMode es un valor constante que indica el propósito de abrir el archivo, y ForReading (1) significa leer datos;
ForAppending significa utilizado para agregar datos. Este parámetro se puede omitir y el valor predeterminado es ForReading.
Crear es un valor booleano que indica si se debe crear un archivo nuevo cuando el archivo que se va a abrir no existe.
Este parámetro se puede omitir y el valor predeterminado es Falso, lo que significa que no se creará ningún archivo nuevo.
El formato representa la forma en que se abre el archivo. Sus posibles valores y significados son los siguientes:
TristateTrue: Abrir en modo Unicode.
TristateFalse: Abrir en modo ASCII.
TristateUseDefault: abrir en el modo predeterminado del sistema.
Este parámetro se puede omitir y el valor predeterminado es TristateFalse, que es el modo ASCII.
(dos). Uso de TextStream para operaciones de archivos Después de crear o abrir un archivo, puede usar los métodos proporcionados por el objeto TextStream para realizar operaciones de archivos reales.
1. Los métodos utilizados para las operaciones de escritura son:
⑴Escribir (cadena)
Escribe la cadena especificada por cadena en el archivo.
⑵WriteLine(cadena)
Escribe la cadena especificada por cadena en el archivo y escribe un carácter de nueva línea.
La cadena del parámetro se puede omitir, en cuyo caso se insertará una línea en blanco en el archivo.
⑶Escribir líneas en blanco (NumOfLines)
Inserte una cantidad de líneas en blanco en el archivo; la cantidad de líneas se especifica en NumOfLines.
2. Los métodos y métodos de atributos utilizados para las operaciones de lectura son:
⑴AlEndOfLine
Este atributo es un valor booleano que indica si el puntero del archivo apunta al final de la línea actual.
⑵AlEndOfStream
Este atributo es un valor booleano que indica si el puntero del archivo apunta al final del archivo.
⑶ Columna
Este atributo es un valor entero que representa la posición del puntero del archivo en la línea actual.
⑷Línea
Este atributo es un valor entero que representa el número de línea de la línea donde se encuentra el puntero del archivo.
⑸ Leer (Número de caracteres)
Este método comienza desde la posición actual del archivo, lee una cantidad de caracteres especificados por la cantidad de NumOfCharacters y devuelve una cadena.
⑹Línea de lectura
Este método comienza desde la posición actual del archivo, lee el contenido de la línea actual hasta el final de la línea y devuelve una cadena.
⑺Leer todo
Este método comienza desde la posición actual, lee el contenido de todo el archivo hasta el final del archivo y devuelve una cadena.
⑻ Saltar(NúmeroDeCaracteres)
Este método comienza desde la posición actual del archivo y omite una cantidad de caracteres especificados por el número NumOfCharacters.
⑼ SALTAR LÍNEA
Este método comienza desde la posición actual del archivo y omite el contenido de la línea actual.
3. Los métodos utilizados para cerrar archivos son:
⑴ Cerrar
Cerrar archivos ya creados o abiertos.
(3) El siguiente es un ejemplo para ilustrar cómo utilizar FSO para leer archivos de texto y guardarlos en la base de datos:
1. Primero cree una página para leer la ruta del archivo: file.htm
...
<FORM METHOD=POST ACTION= "upFile .asp" >
<div align="center"> <br>
<br>
<br>
<br>
<tipo de entrada="archivo" nombre="ruta" tamaño="40">
<TIPO DE ENTRADA="enviar " name ="dr" value="Importar información">
</div>
</FORM>
…
2. Escriba el código para guardar el valor de texto obtenido en la base de datos: 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" 'Llamar al procedimiento almacenado
ObjComm.CommandType=adCmdStoredProc
Set ObjComm.ActiveConnection=Conn
''''''''''Crear entrada y parámetros de salida''' ''''''''''''''
Set ObjParamECom=ObjComm.CreateParameter("WC_ECompanyName",adVarchar,adParamInput,100)
ObjComm.Parameters.Append ObjParamECom
'@in_ECompanyName Varchar(50), --Nombre en inglés de la
empresa Set ObjParamAddr=ObjComm.CreateParameter("WC_Address",adVarchar,adParamInput,200)
ObjComm.Parameters.Append ObjParamAddr
'@in_Address Varchar(50), --Dirección de la empresa
Set ObjParamCity=ObjComm.CreateParameter("WC_City" ,adVarchar,adParamInput, 100)
ObjComm.Parameters.Append ObjParamCity
'@in_City Varchar(50), --City
...
'''''''''' Creación de parámetros completada'''''''''' ''''' '''
%>
<%
dim AllText,strLine1,strLine2,strLine3
dim strpath,fileurl
fileurl=""
strpath=Trim(Request.form("ruta"))
fileurl=strpath
SET FSO=CreateObject( "Scripting.FileSystemObject")
SET ATextStream=FSO.OpenTextFile(fileurl,1,false,TristateFalse)
'''''''''Extraer datos'''''''''''''''' '''' ''''
HACER MIENTRAS NO ATextStream.AtEndOfStream
''''''Inicializar 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)
…
'Finalizar si
''''''''''Agregar la variable al conjunto de parámetros'''''' '' '''''
ObjParamECom.value=strLine1
ObjParamCCom.value=strLine2
ObjParamAddr.value=strLine3
...
''''''''''La operación finaliza''''''''''' ''' '''
ObjComm.Execute() 'Ejecutar comando
LOOP
respuesta.escribir "<br>"+"¡Importar biblioteca exitosamente! <a href=dolist.html>[Continuar importación]</a><br>"
set Conn=nada
set FSO=nada
set ATextStream=nada
%>
Adjunto: Procedimiento almacenado código sp_AddMsg
CREAR PROCEDIMIENTO dbo.sp_AddMsg - Importar empresas extranjeras Información
(
@in_CompanyName Varchar(100), --Nombre de la empresa
@in_Address Varchar(200), --Dirección de la empresa
@in_City Varchar(100), --Ciudad de la empresa
...
)
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
En este punto, la explicación del texto completo es terminado, espero que este artículo pueda brindar algo de ayuda a los lectores.