如何对文件进行操作?
作者:
<%@ LANGUAGE="VBScript" %>
<% 'Set file i/o constants.
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
filename = "test.txt"
path = Server.MapPath("data") & "\" & filename
' 映射文件名到服务器的物理路径.
operation = Request.Form("operation") %>
' 得到请求操作.
<html>
<head>
<title>千花飞舞之处理文件</title>
</head>
<body>
<font face="Arial,Helvetica" size=2>
<table bgcolor="#000000" border=0 cellpadding=1 cellspacing=0><tr><td>
<table bgcolor="#008080" border=0 cellpadding=8 cellspacing=0><tr valign=bottom><td>
<font face="Arial,Helvetica" size=2>
<form action="<% = Request.ServerVariables("script_NAME") %>" method="post">
<input name="operation" type="radio" value="create"> 创建
<input name="operation" type="radio" value="delete"> 删除
<input name="operation" type="radio" value="read" checked> 读取
<input name="operation" type="radio" value="write"> 写入
<input name="operation" type="radio" value="append"> 添加
<p>
<center>
<input type="submit" value="确定"> <input type="reset" value="重置">
</center>
</form>
<p>
<a href="fileops.html"><b>返回</b></a>
</font>
</td></tr></table>
</td></tr></table>
<p>
<%
if operation = "create" then
call CreateFile(path)
call ReadFile(path)
elseif operation = "delete" then
call DeleteFile(path)
elseif operation = "read" then
call ReadFile(path)
elseif operation = "write" then
call WriteFile(path)
call ReadFile(path)
elseif operation = "append" then
call AppendFile(path)
call ReadFile(path)
end if
' 执行请求操作.
%>
<p>
</font>
</body></html>
<% sub CreateFile(path)
dim fs, file
set fs = CreateObject("Scripting.FileSystemObject")
if fs.FileExists(path) then
Response.Write(<b>噢,文件" & filename & " 已经存在,创建失败!</b><br>" & vbCrLf)
' 如果文件早已存在则显示一个错误信息
else
Response.Write(恭喜, " & filename & "创建成功!<br>" & vbCrLf)
' 否则创建它并写入数据
set file = fs.CreateTextFile(path)
Response.Write(向" & filename & "写入数据...<br>" & vbCrLf)
file.WriteLine("Line 1 added " & Now() & ".")
file.WriteLine("Line 2 added " & Now() & ".")
file.WriteLine("Line 3 added " & Now() & ".")
file.WriteLine("Line 4 added " & Now() & ".")
file.WriteLine("Line 5 added " & Now() & ".")
file.Close()
end if
end sub
sub DeleteFile(path)
dim fs, file
set fs = CreateObject("Scripting.FileSystemObject")
if not fs.FileExists(path) then
' 如果文件不存在则显示一个错误信息.
Response.Write(<b>噢,文件" & filename & "不存在,您删除什么!</b><br>" & vbCrLf)
else
Response.Write(恭喜," & filename & "删除成功!<br>" & vbCrLf)
' 否则删除它.
fs.DeleteFile(path)
end if
end sub
sub ReadFile(path)
dim fs, file
set fs = CreateObject("Scripting.FileSystemObject")
if not fs.FileExists(path) then
Response.Write(<b>噢,文件" & filename & "不存在,您读取什么!</b><br>" & vbCrLf)
' 如果文件不存在则显示一个错误信息.
else
set file = fs.OpenTextFile(path, ForReading)
Response.Write(恭喜," & filename & "读取成功!" & vbCrLf)
' 否则打开它并显示内容.
Response.Write("<p>" & vbCrLf)
Response.Write("<hr size=1>" & vbCrLf)
Response.Write("<font size=3><pre>" & vbCrLf)
do while not file.AtEndOfStream
Response.Write(file.ReadLine & vbCrLf)
loop
Response.Write("</pre></font>" & vbCrLf)
Response.Write("<hr size=1>" & vbCrLf)
file.Close()
end if
end sub
sub WriteFile(path)
dim fs, file
set fs = CreateObject("Scripting.FileSystemObject")
if not fs.FileExists(path) then
Response.Write(<b>噢,文件" & filename & "不存在,您写入什么!</b><br>" & vbCrLf)
' 如果文件不存在则显示一个错误信息.
else
set file = fs.OpenTextFile(path, ForWriting)
' 否则,改写内容.
Response.Write(Rewriting file " & filename & ".<br>" & vbCrLf)
file.WriteLine("Rewritting file with line 1 added " & Now() & ".")
file.WriteLine("Rewritting file with line 2 added " & Now() & ".")
file.WriteLine("Rewritting file with line 3 added " & Now() & ".")
file.Close()
end if
end sub
sub AppendFile(path)
dim fs, file
set fs = CreateObject("Scripting.FileSystemObject")
if fs.FileExists(path) then
set file = fs.GetFile(path)
if file.size > 500 then
' 如果文件存在,检查它的大小并退出,如果它超过500K.
Response.Write(<b>噢,文件" & filename & "超过了大小限制, 添加失败!</b><br>" &
vbCrLf)
exit sub
end if
else
Response.Write(噢,文件" & filename & "不存在!但它将会被创建...<br>" & vbCrLf)
end if
' 如果文件不存在,显示一个提示信息.
Response.Write(添加内容到文件" & filename & "...<br>" & vbCrLf)
set file = fs.OpenTextFile(path, ForAppending, true)
file.WriteLine("添加的新内容:" & Now() & ".")
' 当需要给它添加新内容时打开或创建文件
file.Close()
end sub %>
[1]