FSO是微软ASP的一个对文件操作的控件,那么接下来就由错新频道的小编给小伙伴们分享一篇关于FSO代码详细解析吧。
使用FSO修改文件特定内容的函数
functionFSOchange(filename,Target,String)
DimobjFSO,objCountFile,FiletempData
SetobjFSO=Server.CreateObject("Scripting.FileSystemObject")
SetobjCountFile=objFSO.OpenTextFile(Server.MapPath(filename),1,True)
FiletempData=objCountFile.ReadAll
objCountFile.Close
FiletempData=Replace(FiletempData,Target,String)
SetobjCountFile=objFSO.CreateTextFile(Server.MapPath(filename),True)
objCountFile.WriteFiletempData
objCountFile.Close
SetobjCountFile=Nothing
SetobjFSO=Nothing
EndFunction
使用FSO读取文件内容的函数
functionFSOFileRead(filename)
DimobjFSO,objCountFile,FiletempData
SetobjFSO=Server.CreateObject("Scripting.FileSystemObject")
SetobjCountFile=objFSO.OpenTextFile(Server.MapPath(filename),1,True)
FSOFileRead=objCountFile.ReadAll
objCountFile.Close
SetobjCountFile=Nothing
SetobjFSO=Nothing
EndFunction
使用FSO读取文件某一行的函数
functionFSOlinedit(filename,lineNum)
iflinenum
dimfso,f,temparray,tempcnt
setfso=server.CreateObject("scripting.filesystemobject")
ifnotfso.fileExists(server.mappath(filename))thenexitfunction
setf=fso.opentextfile(server.mappath(filename),1)
ifnotf.AtEndofStreamthen
tempcnt=f.readall
f.close
setf=nothing
temparray=split(tempcnt,chr(13)&chr(10))
iflineNum>ubound(temparray)+1then
exitfunction
else
FSOlinedit=temparray(lineNum-1)
endif
endif
endfunction
使用FSO写文件某一行的函数
functionFSOlinewrite(filename,lineNum,Linecontent)
iflinenum
dimfso,f,temparray,tempCnt
setfso=server.CreateObject("scripting.filesystemobject")
ifnotfso.fileExists(server.mappath(filename))thenexitfunction
setf=fso.opentextfile(server.mappath(filename),1)
ifnotf.AtEndofStreamthen
tempcnt=f.readall
f.close
temparray=split(tempcnt,chr(13)&chr(10))
iflineNum>ubound(temparray)+1then
exitfunction
else
temparray(lineNum-1)=lineContent
endif
tempcnt=join(temparray,chr(13)&chr(10))
setf=fso.createtextfile(server.mappath(filename),true)
f.writetempcnt
endif
f.close
setf=nothing
endfunction
使用FSO添加文件新行的函数
functionFSOappline(filename,Linecontent)
dimfso,f
setfso=server.CreateObject("scripting.filesystemobject")
ifnotfso.fileExists(server.mappath(filename))thenexitfunction
setf=fso.opentextfile(server.mappath(filename),8,1)
f.writechr(13)&chr(10)&Linecontent
f.close
setf=nothing
endfunction
读文件最后一行的函数
functionFSOlastline(filename)
dimfso,f,temparray,tempcnt
setfso=server.CreateObject("scripting.filesystemobject")
ifnotfso.fileExists(server.mappath(filename))thenexitfunction
setf=fso.opentextfile(server.mappath(filename),1)
ifnotf.AtEndofStreamthen
tempcnt=f.readall
f.close
setf=nothing
temparray=split(tempcnt,chr(13)&chr(10))
FSOlastline=temparray(ubound(temparray))
endif
endfunction
FSO替换指定文件的字符
程序代码:
'FSO替换指定文件的字符
FunctionFSOLineEdit(filename,Target,String)
DimobjFSO,objCountFile,FiletempData
SetobjFSO=Server.CreateObject("Scripting.FileSystemObject")
SetobjCountFile=objFSO.OpenTextFile(Server.MapPath(filename),1,True)
FiletempData=objCountFile.ReadAll
objCountFile.Close
FiletempData=Replace(FiletempData,Target,String)
SetobjCountFile=objFSO.CreateTextFile(Server.MapPath(filename),True)
objCountFile.WriteFiletempData
objCountFile.Close
SetobjCountFile=Nothing
SetobjFSO=Nothing
EndFunction
'Response.WriteFSOLineEdit("test.txt","世界","明天是一个好天去")
删除文件
程序代码:
'删除文件
FunctionDelFile(Filename)
IfFilename""Then
SetFSO=Server.CreateObject("Scripting.FileSystemObject")
IfFSO.FileExists(Filename)Then
FSO.DeleteFileFilename
EndIf
SetFSO=Nothing
EndIf
EndFunction
判断文件是否存在
程序代码:
'判断文件是否存在
FunctionReportFileStatus(filespec)
DimFSO,msg
SetFSO=CreateObject("Scripting.FileSystemObject")
If(FSO.FileExists(filespec))Then
msg=filespec&"exists."
Else
msg=filespec&"doesn'texist."
EndIf
ReportFileStatus=msg
EndFunction
使用FSO修改文件特定内容的函数
程序代码:
'使用FSO修改文件特定内容的函数
FunctionFSOchange(filename,Target,String)
DimobjFSO,objCountFile,FiletempData
SetobjFSO=Server.CreateObject("Scripting.FileSystemObject")
SetobjCountFile=objFSO.OpenTextFile(Server.MapPath(filename),1,True)
FiletempData=objCountFile.ReadAll
objCountFile.Close
FiletempData=Replace(FiletempData,Target,String)
SetobjCountFile=objFSO.CreateTextFile(Server.MapPath(filename),True)
objCountFile.WriteFiletempData
objCountFile.Close
SetobjCountFile=Nothing
SetobjFSO=Nothing
EndFunction
使用FSO写文件某一行的函数
程序代码:
'使用FSO写文件某一行的函数
FunctionFSOlinewrite(filename,lineNum,Linecontent)
Iflinenum
DimFSO,f,temparray,tempCnt
SetFSO=Server.CreateObject("Scripting.FileSystemObject")
IfNotFSO.FileExists(Server.MapPath(filename))ThenExitFunction
Setf=FSO.OpenTextFile(Server.MapPath(filename),1)
IfNotf.AtEndofStreamThen
tempcnt=f.ReadAll
f.Close
temparray=Split(tempcnt,Chr(13)&Chr(10))
IflineNum>UBound(temparray)+1Then
ExitFunction
Else
temparray(lineNum-1)=lineContent
EndIf
tempcnt=join(temparray,Chr(13)&Chr(10))
Setf=FSO.createtextfile(Server.MapPath(filename),true)
f.Writetempcnt
EndIf
f.Close
Setf=Nothing
EndFunction
建立目录的程序,如果有多级目录,则一级一级的创建
程序代码:
'建立目录的程序,如果有多级目录,则一级一级的创建
FunctionCreateDIR(ByValLocalPath)
OnErrorResumeNext
LocalPath=Replace(LocalPath,"/","/")
SetFileObject=Server.CreateObject("Scripting.FileSystemObject")
patharr=Split(LocalPath,"/")
path_level=UBound(patharr)
Fori=0topath_level
Ifi=0Thenpathtmp=patharr(0)&"/"Elsepathtmp=pathtmp&patharr(i)&"/"
cpath=Left(pathtmp,Len(pathtmp)-1)
IfNotFileObject.FolderExists(cpath)ThenFileObject.CreateFoldercpath
Next
SetFileObject=Nothing
IfErr.Number0Then
CreateDIR=False
Err.Clear
Else
CreateDIR=True
EndIf
EndFunction
下面列举一下这些不常用但是却非常酷的功能:
很少被了解的FSO功能
GetSpecialFolderMethod返回特定的Windows文件夹的路径:Windows安装目录;Windows系统目录;Windows临时目录FSO.GetSpecialFolder([0,1,or2])
GetTempNameMethod返回一个随机产生的文件或者目录名字,用于需要存储临时数据时
GetAbsolutePathNameMethod返回文件夹的绝对路径(类似于Server.MapPath)。
比如,FSO.GetAbsolutePathName("region")将返回类似于下面的结果:"c:mydocsmyfolderegion"
GetExtensionNameMethod返回路径中最后部分的扩展名
(比如:FSO.GetExtensionName("c:docsest.txt")将返回txt)
GetBaseNameandGetParentFolderMethods返回路径中最后部分的父文件夹
(比如:FSO.GetParentFolder("c:docsmydocs")将返回'docs')
DrivesProperty返回所有本地可用驱动器的集合,用于建立资源浏览器样的用户接口。
使用上面的功能时,最好建立好出错处理的代码。因为如果需要的参数不存在,将会产生麻烦的信息。
以上就是关于FSO代码详细解析了,想必都了解了吧,更多相关内容请继续关注错新技术频道。
新闻热点
疑难解答