当前位置: 首页 > 图文教程 > 网络编程 > ASP > FSO一些代码

ASP
ASP基础讲座(下)
解决IIS5 HTTP500内部错误
ASP 3.0高级编程(四十六)
ASP 3.0高级编程(四十五)
ASP 3.0高级编程(四十四)
ASP 3.0高级编程(四十三)
ASP 3.0高级编程(四十二)
ASP 3.0高级编程(四十一)
ASP 3.0高级编程(三十九)
ASP 3.0高级编程(三十八)
ASP 3.0高级编程(三十七)
ASP 3.0高级编程(三十六)
ASP 3.0高级编程(三十五)
ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十三)
ASP 3.0高级编程(三十二)
ASP 3.0高级编程(三十一)
ASP错误代码说明
jscript错误代码及相应解释大全
ASP错误处理

ASP 中的 FSO一些代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 57 ::
收藏到网摘: n/a

使用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
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 返回所有本地可用驱动器的集合,用于建立资源浏览器样的用户接口。
使用上面的功能时,最好建立好出错处理的代码。因为如果需要的参数不存在,将会产生麻烦的信息。