So lesen Sie eine Textdatei auf einem Server mithilfe von VBScript in ASP
Eine der wichtigsten Aufgaben in jeder Programmiersprache ist die Fähigkeit, Dateien lesen und schreiben zu können. Die Schritte in ASP unterscheiden sich nicht von denen vieler anderer Sprachen:
Datei-E/A in ASP kann mithilfe der FileSystemObject
-Komponente erfolgen. Wenn Sie eine Textdatei öffnen, öffnen Sie sie einfach als Textstream und verwenden diesen Textstream, um auf den Inhalt der Datei zuzugreifen.
Mit dem FileSystemObject können Sie alle Datei- und Ordnerverwaltungsvorgänge ausführen. Es kann entweder eine Datei zurückgeben, die dann als Textstream geöffnet werden kann, oder es kann direkt ein Textstream-Objekt zurückgeben.
Im Folgenden stelle ich zwei unterschiedliche Methoden vor. Die erste Methode ruft ein Dateiobjekt ab und verwendet dieses, um den Textstream zu öffnen, und die zweite Methode öffnet den Textstream direkt aus dem 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 & "