Ao desenvolver aplicações WEB, muitas vezes precisamos processar unidades, pastas e arquivos no sistema de arquivos, como coletar informações relacionadas à unidade, criar, adicionar, mover ou excluir pastas e arquivos, etc. No VB6, um novo modelo de objeto chamado FSO (File System Object) é fornecido para acessar o sistema de arquivos. Este modelo fornece uma ferramenta baseada em objetos. Por meio de uma série de propriedades e métodos que ele fornece, podemos realizar diversas operações no sistema de arquivos de forma mais simples e flexível no aplicativo.
1. Introdução ao FSO O modelo de objetos FSO inclui os seguintes objetos:
Objeto Drive: permite a coleta de informações como espaço disponível e nomes de compartilhamento de unidades como discos rígidos e CD-ROMs que estão fisicamente conectados ao sistema ou logicamente conectados ao sistema através de LAN.
Objeto pasta: permite criar, excluir ou mover pastas e consultar o sistema sobre o nome, caminho, etc.
Objeto Arquivos: permite criar, excluir ou mover arquivos e consultar o sistema em busca de nomes de arquivos, caminhos, etc.
Objeto TextStream: permite a criação, leitura e gravação de arquivos de texto.
Objeto FileSystemObject: Fornece um conjunto completo de métodos para operações de unidade, pasta e arquivo. Funcionalmente, pode ser considerado uma coleção dos objetos acima e é frequentemente usado em conjunto com eles. Muitos dos métodos associados a este objeto duplicam os dos quatro objetos anteriores, portanto, podemos executar a maioria das operações em unidades, pastas e arquivos por meio do objeto FileSystemObject ou por meio da unidade, pasta ou objeto de arquivo correspondente. O modelo FSO implementa operações no mesmo objeto através de dois métodos, e os efeitos da operação são os mesmos. O objetivo de fornecer esta função redundante é alcançar a máxima flexibilidade de programação.
Neste artigo, explicaremos o funcionamento de arquivos de texto usando o objeto TextStream do modelo de objeto FSO.
(1) Use FileSystemObject para obter objetos de arquivo de texto 1. Criar uma instância do objeto FileSystemObject Para executar operações de arquivo, você deve primeiro criar uma instância do objeto FileSystemObject para criar ou abrir um arquivo. O formato específico para criar uma instância do objeto FileSystemObject é (tomando AFileSystemObject) como exemplo:
Definir AFileSystemObject = CreateObject("Scripting.FileSystemObject")
2. Use FileSystemObject para obter o objeto de arquivo de texto TextStream
FileSystemObject fornece dois métodos para obter objetos de arquivo de texto TextStream, entre os quais CreateTextFile é usado para criar arquivos e OpenTextFile é usado para abrir arquivos existentes. O resultado de retorno de ambos os métodos é uma instância do objeto TextStream. Use este objeto. Operações específicas em arquivos podem. ser realizado.
⑴Criar um novo arquivo O formato específico do método de criação de um novo arquivo é (tome AFileSystemObject como exemplo):
AFilesystemObject.CreateTextFile(NewFileName,OverwriteExistingFile,IsUnicode)
em:
NewFileName é um valor de string que especifica o nome do arquivo a ser criado, geralmente o caminho real do arquivo mais o nome do arquivo, como C:webshareaspsampfiletest.txt
OverwriteExistingFile é um valor booleano que indica se o arquivo original deve ser sobrescrito se existir um arquivo com o mesmo nome. Este parâmetro pode ser omitido e o padrão é False, o que significa que o arquivo original não será sobrescrito.
IsUnicode é um valor booleano que indica se o arquivo a ser criado é um arquivo ASCII ou Unicode.
Este parâmetro pode ser omitido e o padrão é False, que é um arquivo ASCII.
⑵ Abrir um arquivo existente O formato específico do método de abertura de um arquivo existente é (tome AFileSystemObject como exemplo):
AFilesystemObject.OpenTextFile (Nome do arquivo, IOMode, criar, formatar)
em:
FileName é um valor de string que especifica o nome do arquivo a ser aberto, geralmente o caminho real do arquivo mais o nome do arquivo, C:filepathtest.txt
IOMode é um valor constante, indicando a finalidade de abrir o arquivo, e ForReading(1) significa leitura de dados;
ForAppending significa usado para adicionar dados. Este parâmetro pode ser omitido e o padrão é ForReading.
Create é um valor booleano que indica se um novo arquivo deve ser criado quando o arquivo a ser aberto não existe.
Este parâmetro pode ser omitido e o padrão é False, o que significa que nenhum novo arquivo será criado.
Formato representa a forma como o arquivo é aberto. Seus possíveis valores e significados são os seguintes:
TristateTrue: Abra no modo Unicode.
TristateFalse: Aberto no modo ASCII.
TristateUseDefault: Abra no modo padrão do sistema.
Este parâmetro pode ser omitido e o padrão é TristateFalse, que é o modo ASCII.
(dois). Usando TextStream para operações de arquivo Depois de criar ou abrir um arquivo, você pode usar os métodos fornecidos pelo objeto TextStream para executar operações reais de arquivo.
1. Os métodos usados para operações de gravação são:
⑴Escrever(string)
Grava a string especificada por string no arquivo.
⑵WriteLine(string)
Grava a string especificada por string no arquivo e grava um caractere de nova linha.
A string do parâmetro pode ser omitida; nesse caso, uma linha em branco será inserida no arquivo.
⑶WriteBlankLines(NumOfLines)
Insira um número de linhas em branco no arquivo, o número de linhas é especificado por NumOfLines.
2. Os métodos e métodos de atributos usados para operações de leitura são:
⑴AtEndOfLine
Este atributo é um valor booleano que indica se o ponteiro do arquivo aponta para o final da linha atual.
⑵AtEndOfStream
Este atributo é um valor booleano que indica se o ponteiro do arquivo aponta para o final do arquivo.
⑶ Coluna
Este atributo é um valor inteiro que representa a posição do ponteiro do arquivo na linha atual.
⑷Linha
Este atributo é um valor inteiro que representa o número da linha onde o ponteiro do arquivo está localizado.
⑸ Ler (NumOfCharacters)
Este método começa na posição atual do arquivo, lê um número de caracteres especificado pelo número de NumOfCharacters e retorna uma string.
⑹ReadLine
Este método começa na posição atual do arquivo, lê o conteúdo da linha atual até o final da linha e retorna uma string.
⑺Leia tudo
Este método começa na posição atual, lê o conteúdo de todo o arquivo até o final do arquivo e retorna uma string.
⑻ Pular (NumOfCharacters)
Este método começa na posição atual do arquivo e ignora um número de caracteres especificado pelo número NumOfCharacters.
⑼ SKipLine
Este método começa na posição atual do arquivo e ignora o conteúdo da linha atual.
3. Os métodos usados para fechar arquivos são:
⑴ Fechar
Feche os arquivos já criados ou abertos.
(3) A seguir está um exemplo para ilustrar como usar o FSO para ler arquivos de texto e salvá-los no banco de dados:
1. Primeiro crie uma página para ler o caminho do arquivo: 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. Escreva o código para salvar o valor do texto obtido no banco de dados: 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" 'Chame o procedimento armazenado
ObjComm.CommandType=adCmdStoredProc
Set ObjComm.ActiveConnection=Conn
''''''''''Criar entrada e parâmetros de saída''' '''''''''''''
Set ObjParamECom=ObjComm.CreateParameter("WC_ECompanyName",adVarchar,adParamInput,100)
ObjComm.Parameters.Append ObjParamECom
'@in_ECompanyName Varchar(50), --Nome em inglês da empresa
Set ObjParamAddr=ObjComm.CreateParameter("WC_Address",adVarchar,adParamInput,200)
ObjComm.Parameters.Append ObjParamAddr
'@in_Address Varchar(50), --Endereço da empresa
Set ObjParamCity=ObjComm.CreateParameter("WC_City" ,adVarchar,adParamInput, 100)
ObjComm.Parameters.Append ObjParamCity
'@in_City Varchar(50), --City
...
'''''''''' Criação de parâmetro concluída'''''''''' '''''' '''
%>
<%
dim AllText,strLine1,strLine2,strLine3
dim strpath,fileurl
fileurl=""
strpath=Trim(Request.form("path"))
fileurl=strpath
SET FSO=CreateObject( "Scripting.FileSystemObject")
SET ATextStream=FSO.OpenTextFile(fileurl,1,false,TristateFalse)
'''''''''Extrair dados'''''''''''''''''' '''' ''''
DO WHILE NOT ATextStream.AtEndOfStream
''''''Inicializar variáveis''''''''''''''
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)
…
'Fim se
''''''''''Adicionar a variável ao conjunto de parâmetros'''''' '' '''''
ObjParamECom.value=strLine1
ObjParamCCom.value=strLine2
ObjParamAddr.value=strLine3
...
''''''''''Operação termina''''''''''''' ''' '''
ObjComm.Execute() 'Execute o comando
LOOP
response.write "<br>"+"Importar biblioteca com sucesso! <a href=dolist.html>[Continuar importação]</a><br>"
set Conn=nothing
set FSO=nothing
set ATextStream=nothing
%>
Anexo: Procedimento armazenado código sp_AddMsg
CREATE PROCEDURE dbo.sp_AddMsg -- Importar empresas estrangeiras Informações
(
@in_CompanyName Varchar(100), --Nome da empresa
@in_Address Varchar(200), --Endereço da empresa
@in_City Varchar(100), --Company city
...
)
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
Neste ponto, a explicação do texto completo é terminado, espero que este artigo O artigo possa trazer alguma ajuda aos leitores.