网络编程
位置:首页>> 网络编程>> Asp编程>> asp如何对文件进行操作?

asp如何对文件进行操作?

 来源:asp之家 发布时间:2009-11-20 18:31:00 

标签:文件,操作,fso

 这可是个综合性的问题,看看下面对文件操作的集大成代码:

<% '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 %>

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com