Comment lire un fichier texte sur un serveur en utilisant VBScript dans ASP
L'une des tâches les plus importantes de tout langage de programmation est la capacité de lire et d'écrire des fichiers. Les étapes impliquées dans ASP ne sont pas différentes de celles de nombreux autres langages :
Les E/S de fichiers dans ASP peuvent être effectuées à l’aide du composant FileSystemObject
. Lorsque vous ouvrez un fichier texte, vous l'ouvrez simplement sous forme de flux de texte, et c'est ce flux de texte que vous utilisez pour accéder au contenu du fichier.
Le FileSystemObject vous permet d'effectuer toutes les opérations de gestion de fichiers et de dossiers. Il peut soit renvoyer un fichier qui peut ensuite être ouvert en tant que flux de texte, soit renvoyer directement un objet de flux de texte.
Dans ce qui suit, je présente deux méthodes différentes. La première méthode obtient un objet fichier et l'utilise pour ouvrir le flux de texte, et la deuxième méthode ouvre le flux de texte directement à partir du FileSystemObject
.
"
' Open the file
Dim TextStream
Set TextStream = file.OpenAsTextStream(ForReading, TristateUseDefault)
' Read the file line by line
Do While Not TextStream.AtEndOfStream
Dim Line
Line = TextStream.readline
' Do something with "Line"
Line = Line & vbCRLF
Response.write Line
Loop
Response.Write "
<% Option Explicit
Const Filename = " /readme.txt " ' file to read
Const ForReading = 1 , ForWriting = 2 , ForAppending = 3
Const TristateUseDefault = - 2 , TristateTrue = - 1 , TristateFalse = 0
' Create a filesystem object
Dim FSO
set FSO = server . createObject ( " Scripting.FileSystemObject " )
' Map the logical path to the physical system path
Dim Filepath
Filepath = Server . MapPath (Filename)
if FSO.FileExists(Filepath) Then
' Get a handle to the file
Dim file
set file = FSO.GetFile(Filepath)
' Get some info about the file
Dim FileSize
FileSize = file.Size
Response . Write " File: "
& Filename & " (size " & FileSize & _
" bytes)
"
Response . Write " "
' Open the file
Dim TextStream
Set TextStream = file.OpenAsTextStream(ForReading, TristateUseDefault)
' Read the file line by line
Do While Not TextStream.AtEndOfStream
Dim Line
Line = TextStream.readline
' Do something with "Line"
Line = Line & vbCRLF
Response . write Line
Loop
Response . Write "
<% Option Explicit
Const Filename = " /readme.txt " ' file to read
Const ForReading = 1 , ForWriting = 2 , ForAppending = 3
Const TristateUseDefault = - 2 , TristateTrue = - 1 , TristateFalse = 0
' Create a filesystem object
Dim FSO
set FSO = server . createObject ( " Scripting.FileSystemObject " )
' Map the logical path to the physical system path
Dim Filepath
Filepath = Server . MapPath (Filename)
if FSO.FileExists(Filepath) Then
Set TextStream = FSO.OpenTextFile(Filepath, ForReading, False , TristateUseDefault)
' Read file in one hit
Dim Contents
Contents = TextStream.ReadAll
Response . write " "
& Contents & "