readfile_in_asp
1.0.0
วิธีอ่านไฟล์ข้อความบนเซิร์ฟเวอร์โดยใช้ VBScript ใน ASP
งานที่สำคัญที่สุดอย่างหนึ่งในภาษาการเขียนโปรแกรมก็คือความสามารถในการอ่านและเขียนไฟล์ ขั้นตอนที่เกี่ยวข้องกับ ASP ไม่แตกต่างจากภาษาอื่นๆ หลายภาษา:
ไฟล์ I/O ใน ASP สามารถทำได้โดยใช้คอมโพเนนต์ FileSystemObject
เมื่อเปิดไฟล์ข้อความ คุณเพียงแค่เปิดเป็นสตรีมข้อความ และนี่คือสตรีมข้อความที่คุณใช้ในการเข้าถึงเนื้อหาของไฟล์
FileSystemObject ช่วยให้คุณสามารถดำเนินการจัดการไฟล์และโฟลเดอร์ทั้งหมดได้ มันสามารถส่งคืนไฟล์ที่สามารถเปิดเป็นสตรีมข้อความหรือสามารถส่งคืนออบเจ็กต์สตรีมข้อความได้โดยตรง
ต่อไปนี้ผมขอนำเสนอสองวิธีที่แตกต่างกัน วิธีแรกรับออบเจ็กต์ไฟล์และใช้สิ่งนั้นเพื่อเปิดสตรีมข้อความ และวิธีที่สองเปิดสตรีมข้อความโดยตรงจาก 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 & "