|
O componente FileSystemObject, um dos mais utilizados
nas páginas ASP, facilita o acesso ao sistema de arquivos do servidor.
Introdução
Criar e ler arquivos e diretórios, são
algumas das operações mais habituais que se realizam
com o componente FileSystemObject, também conhecido pela
sigla FSO.
É importante observar que ele permite acessar
o sistema de arquivos do servidor, mas não o sistema
de arquivos do cliente.
O código abaixo mostra o uso do componente
FSO, no qual se destacam as operações:
- Instanciação do objeto de acesso
a arquivos
- Abrir o arquivo desejado no modo desejado (leitura,
gravação)
- Manipular/visualizar o conteúdo do arquivo
- Fechar os objetos utilizados
Exemplo de código para o uso do componente FSO
<%
Const fsoLeitura = 1
Dim objFSO
'Instanciar o objeto FSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
'Abrir o arquivo texto
Dim objTextStream
Set objTextStream = objFSO.OpenTextFile("C:\exemplo.txt", fsoLeitura)
'Visualiza no navegador o conteúdo do arquivo texto
Response.Write objTextStream.ReadAll
'Fechar e inicializar os objetos
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
%>
|
Alguns conselhos para as
operações de Leitura e Gravação
Como foi visto no código anterior, na utilização
do FSO para ler e gravar informações de um arquivo
foi utilizado o objeto TextStream cujo funcionamento é
detalhado a seguir.
Antes de abrir o arquivo é conveniente garantir
que ele exista, para isto usar a função FileExists
disponível no conjunto de funções do objeto
FSO.
<%
If objFSO.FileExists("c:\exemplo.txt") then
'O arquivo existe --> comandos de leitura
else
'O arquivo não existe --> Mensagem de erro
end if
%>
|
Na operação de abrir o arquivo podemos
especificar diferentes modos dependendo de como se quer trabalhar
no arquivo, tanto para leitura como gravação. Neste
último caso, pode-se indicar ao objeto que crie o arquivo
se ele ainda não existe. É muito conveniente definir
as constantes correspondentes.
- Leitura (1)
- Gravação (2)
- Incluir (8)
<%
Const fsoLeitura = 1
Const fsoGravação = 2
Dim objTextStream
'Exemplo para ler um arquivo
Set objTextStream = objFSO.OpenTextFile("c:\exemplo.txt", fsoLeitura)
'Exemplo para gravar.
'O "True" indica que no caso de não existir, o arquivo será criado
Set objTextStream = objFSO.OpenTextFile("C:\exemplo.txt", fsoGravação, True)
%>
|
Para ler o conteúdo do
arquivo texto usar um dos seguintes métodos do objeto TextStream.
- Read(x): Lê o número de caracteres especificado
por "x"
- ReadLine: Lê uma linha inteira
- ReadAll: Lê o arquivo todo
Para gravar num arquivo de texto usar um dos seguintes
métodos do objeto TextStream.
- Write(string): Grava a string no arquivo texto
- WriteLine(string): Semelhante ao Write, mas inclui
o caractere "fim de linha"
- WriteBlankLines(x): Grava x linhas em branco
<%
'Exemplo de leitura
Response.Write "O conteúdo do arquivo é:" & objTextStream.ReadAll
'Exemplo de gravação
objTextStream.WriteLine "Linha incluída pela execução de una página ASP"
%>
|
Uma vez finalizadas as operações com
os objetos do FSO é importante fechar os objetos usados
mediante a seguinte instrução:
<%
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
%>
|
Exemplo de leitura
<%
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Dim objTextStream
const strNomedoarquivo = "C:\testes\endereços.txt"
const fsoLeitura = 1
If objFSO.FileExists(strNomedoarquivo) then
Set objTextStream = objFSO.OpenTextFile(strFileName, fsoLeitura)
Response.Write "O conteúdo do arquivo é: "
Do while not objTextStream.EOF
Response.Write objTextStream.ReadLine
loop
objTextStream.Close
Set objTextStream = Nothing
Else
Response.Write strFileName & " não existe!"
End If
Set objFSO = Nothing
%>
|
FSO e as permissões
Para poder manipular os arquivos, é necessário
ter em consideração as permissões já
que são requeridas do usuário IUSER_nombreservidor
criado automaticamente pelo sistema ao instalar IIS, para que possa
operar sobre o diretório acessado.
No caso do NT, as permissões de Leitura,
Gravação e Acesso total são distintas e deverão
ser acionadas dependendo do tipo de operação que
se deseja realizar desde as páginas ASP, caso contrário
ocorrerá um erro. Por exemplo, IUSR_nomeservidor, deve ter
permissões de Controle total sobre um diretório para
excluir ou mover um arquivo deste diretório.
|