•   您的位置:知识库首页 >> 电脑知识 >> 网站建设 >> ASP
  • FSO一些有用的代码

    发布时间:2007-7-27  责任编辑:omega  浏览次数:
    使用FSO修改文件特定内容的函数
    function FSOchange(filename,Target,String)
    Dim objFSO,objCountFile,FiletempData
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    Set objCountFile = objFSO.OpenTextFile(Server.MapPath(filename),1,True)
    FiletempData = objCountFile.ReadAll
    objCountFile.Close
    FiletempData=Replace(FiletempData,Target,String)
    Set objCountFile=objFSO.CreateTextFile(Server.MapPath(filename),True)
    objCountFile.Write FiletempData
    objCountFile.Close
    Set objCountFile=Nothing
    Set objFSO = Nothing
    End Function


    使用FSO读取文件内容的函数
    function FSOFileRead(filename)
    Dim objFSO,objCountFile,FiletempData
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    Set objCountFile = objFSO.OpenTextFile(Server.MapPath(filename),1,True)
    FSOFileRead = objCountFile.ReadAll
    objCountFile.Close
    Set objCountFile=Nothing
    Set objFSO = Nothing
    End Function


    使用FSO读取文件某一行的函数
    function FSOlinedit(filename,lineNum)
    if linenum < 1 then exit function
    dim fso,f,temparray,tempcnt
    set fso = server.CreateObject("scripting.filesystemobject")
    if not fso.fileExists(server.mappath(filename)) then exit function
    set f = fso.opentextfile(server.mappath(filename),1)
    if not f.AtEndofStream then
    tempcnt = f.readall
    f.close
    set f = nothing
    temparray = split(tempcnt,chr(13)&chr(10))
    if lineNum>ubound(temparray)+1 then
    exit function
    else
    FSOlinedit = temparray(lineNum-1)
    end if
    end if
    end function


    使用FSO写文件某一行的函数
    function FSOlinewrite(filename,lineNum,Linecontent)
    if linenum < 1 then exit function
    dim fso,f,temparray,tempCnt
    set fso = server.CreateObject("scripting.filesystemobject")
    if not fso.fileExists(server.mappath(filename)) then exit function
    set f = fso.opentextfile(server.mappath(filename),1)
    if not f.AtEndofStream then
    tempcnt = f.readall
    f.close
    temparray = split(tempcnt,chr(13)&chr(10))
    if lineNum>ubound(temparray)+1 then
    exit function
    else
    temparray(lineNum-1) = lineContent
    end if
    tempcnt = join(temparray,chr(13)&chr(10))
    set f = fso.createtextfile(server.mappath(filename),true)
    f.write tempcnt
    end if
    f.close
    set f = nothing
    end function


    使用FSO添加文件新行的函数
    function FSOappline(filename,Linecontent)
    dim fso,f
    set fso = server.CreateObject("scripting.filesystemobject")
    if not fso.fileExists(server.mappath(filename)) then exit function
    set f = fso.opentextfile(server.mappath(filename),8,1)
    f.write chr(13)&chr(10)&Linecontent
    f.close
    set f = nothing
    end function


    读文件最后一行的函数
    function FSOlastline(filename)
    dim fso,f,temparray,tempcnt
    set fso = server.CreateObject("scripting.filesystemobject")
    if not fso.fileExists(server.mappath(filename)) then exit function
    set f = fso.opentextfile(server.mappath(filename),1)
    if not f.AtEndofStream then
    tempcnt = f.readall
    f.close
    set f = nothing
    temparray = split(tempcnt,chr(13)&chr(10))
    FSOlastline = temparray(ubound(temparray))
    end if
    end function

    FSO替换指定文件的字符
    程序代码:

    'FSO替换指定文件的字符
    Function FSOLineEdit(filename,Target,String)
    Dim objFSO,objCountFile,FiletempData
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    Set objCountFile = objFSO.OpenTextFile(Server.MapPath(filename),1,True)
    FiletempData = objCountFile.ReadAll
    objCountFile.Close
    FiletempData = Replace(FiletempData,Target,String)
    Set objCountFile = objFSO.CreateTextFile(Server.MapPath(filename),True)
    objCountFile.Write FiletempData
    objCountFile.Close
    Set objCountFile = Nothing
    Set objFSO = Nothing
    End Function
    'Response.Write FSOLineEdit("test.txt","世界","明天是一个好天去")


    删除文件
    程序代码:

    '删除文件
    Function DelFile(Filename)
    If Filename <> "" Then
    Set FSO = Server.CreateObject("Scripting.FileSystemObject")
    If FSO.FileExists(Filename) Then
    FSO.DeleteFile Filename
    End If
    Set FSO = Nothing
    End If
    End Function


    判断文件是否存在
    程序代码:

    '判断文件是否存在
    Function ReportFileStatus(filespec)
    Dim FSO,msg
    filespec = Server.MapPath("文件路径")
    Set FSO = CreateObject("Scripting.FileSystemObject")
    If (FSO.FileExists(filespec)) Then
    msg = filespec & " exists."
    Else
    msg = filespec & " doesn't exist."
    End If
    ReportFileStatus = msg
    End Function



    使用FSO修改文件特定内容的函数
    程序代码:

    '使用FSO修改文件特定内容的函数
    Function FSOchange(filename,Target,String)
    Dim objFSO,objCountFile,FiletempData
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    Set objCountFile = objFSO.OpenTextFile(Server.MapPath(filename),1,True)
    FiletempData = objCountFile.ReadAll
    objCountFile.Close
    FiletempData = Replace(FiletempData,Target,String)
    Set objCountFile = objFSO.CreateTextFile(Server.MapPath(filename),True)
    objCountFile.Write FiletempData
    objCountFile.Close
    Set objCountFile = Nothing
    Set objFSO = Nothing
    End Function

    使用FSO写文件某一行的函数
    程序代码:

    '使用FSO写文件某一行的函数
    Function FSOlinewrite(filename,lineNum,Linecontent)
    If linenum < 1 Then Exit Function
    Dim FSO,f,temparray,tempCnt
    Set FSO = Server.CreateObject("Scripting.FileSystemObject")
    If Not FSO.FileExists(Server.MapPath(filename)) Then Exit Function
    Set f = FSO.OpenTextFile(Server.MapPath(filename),1)
    If Not f.AtEndofStream Then
    tempcnt = f.ReadAll
    f.Close
    temparray = Split(tempcnt,Chr(13)&Chr(10))
    If lineNum>UBound(temparray)+1 Then
    Exit Function
    Else
    temparray(lineNum-1) = lineContent
    End If
    tempcnt = jo& #105;n(temparray,Chr(13)&Chr(10))
    Set f = FSO.cr& #101;atetextfile(Server.MapPath(filename),true)
    f.Write tempcnt
    End If
    f.Close
    Set f = Nothing
    End Function


    建立目录的程序,如果有多级目录,则一级一级的创建
    程序代码:
    '建立目录的程序,如果有多级目录,则一级一级的创建
    Function CreateDIR(ByVal LocalPath)
    On Error Resume Next
    LocalPath = Replace(LocalPath,"\","/")
    Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
    patharr = Split(LocalPath,"/")
    path_level = UBound(patharr)
    For i = 0 to path_level
    If i=0 Then pathtmp=patharr(0) & "/" Else pathtmp = pathtmp & patharr(i) & "/"
    cpath = Left(pathtmp,Len(pathtmp)-1)
    If Not FileObject.FolderExists(cpath) Then FileObject.CreateFolder cpath
    Next
    Set FileObject = Nothing
    If Err.Number <> 0 Then
    CreateDIR = False
    Err.Clear
    Else
    CreateDIR = True
    End If
    End Function


    下面列举一下这些不常用但是却非常酷的功能:
    很少被了解的FSO功能
    GetSpecialFolder Method 返回特定的Windows文件夹的路径: Windows安装目录;Windows系统目录;Windows临时目录 FSO.GetSpecialFolder([0, 1, or 2]) 
    GetTempName Method 返回一个随机产生的文件或者目录名字,用于需要存储临时数据时
    GetAbsolutePathName Method 返回文件夹的绝对路径(类似于Server.MapPath)。
    比如,FSO.GetAbsolutePathName("region") 将返回类似于下面的结果:"c:mydocsmyfolder egion"
    GetExtensionName Method 返回路径中最后部分的扩展名
    (比如:FSO.GetExtensionName("c:docs est.txt") 将返回txt)
    GetBaseName and GetParentFolder Methods 返回路径中最后部分的父文件夹
    (比如:FSO.GetParentFolder ("c:docsmydocs") 将返回'docs')
    Drives Property 返回所有本地可用驱动器的集合,用于建立资源浏览器样的用户接口。

    使用上面的功能时,最好建立好出错处理的代码。因为如果需要的参数不存在,将会产生麻烦的信息。

    【声明】:
      以上文章或资料除注明为YangChun.org自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。
      目前网站上有些文章未注明作者或出处,甚至标注错误,此类情况出现并非不尊重作者及出处网站,而是因为有些资料来源的不规范。如果有了解作者或出处的原作者或网友,请告知,本网站将立即更正注明,并向作者或出处单位道歉。
      被摘录的对象如有任何异议,请与本站联系,联系邮箱:WebMaster#YangChun.org,本站确认后将立即撤下。谢谢您的支持与理解!
    赞助商




    Google
     
    阳春热线-知识库
    本站郑重声明:所载文章、数据仅供参考,使用前务请核实,风险自负。
    Copyright © 2004-2007  YangChun.org  备案序号:粤ICP备05075203  阳春同乡会主办