FSO ist ein Steuerelement für Dateioperationen in Microsoft ASP. Daher wird der Herausgeber des falschen neuen Kanals eine detaillierte Analyse des FSO -Code mit Ihnen weitergeben.
Funktionen, die den dateispezifischen Inhalt mit FSO ändern
functionFsochange (Dateiname, Ziel, String)
Dimobjfso, objcountfile, fileTempdata
SetObjfso = server.createObject ("scripting.filesystemObject")
SetObjcountfile = objfso.opentextfile (server.mappath (Dateiname), 1, true)
FiletempData = objcountFile.readall
objcountfile.close
FiletempData = Ersetzen (FilETEMPDATA, Ziel, String)
SetObjcountfile = objfso.createTextFile (Server.Mappath (Dateiname), True)
objcountfile.writeFiletempdata
objcountfile.close
SetObjcountfile = nichts
SetObjfso = nichts
Endfunktion
Funktionen, die FSO verwenden, um Dateiinhalte zu lesen
functionFSoFileread (Dateiname)
Dimobjfso, objcountfile, fileTempdata
SetObjfso = server.createObject ("scripting.filesystemObject")
SetObjcountfile = objfso.opentextfile (server.mappath (Dateiname), 1, true)
FSoFileread = objcountFile.readall
objcountfile.close
SetObjcountfile = nichts
SetObjfso = nichts
Endfunktion
Funktionen, die FSO verwenden, um eine Zeile einer Datei zu lesen
functionFSolinedit (Dateiname, Leinenum)
iflinenum
Dimfso, F, Temparray, tempcnt
setfso = server.createObject ("scripting.filesystemObject")
ifnotfso.FileExists (server.mappath (Dateiname)) Thenexitfunction
setf = fso.opentextFile (server.mappath (Dateiname), 1)
ifnotf.atendofstreamthen
tempcnt = f.readall
F.CLOSE
setf = nichts
template = split (tempcnt, chr (13) & chr (10))
IFLINENUM> UBUND (TEMPARRAY)+1Then
Ausgangsfunktion
anders
FSolinedit = temparray (linenum-1)
Endif
Endif
Endfunktion
Funktionen, die FSO verwenden, um eine bestimmte Zeile einer Datei zu schreiben
functionFsolineWrite (Dateiname, Leinenum, linecontent)
iflinenum
Dimfso, F, Temparray, tempcnt
setfso = server.createObject ("scripting.filesystemObject")
ifnotfso.FileExists (server.mappath (Dateiname)) Thenexitfunction
setf = fso.opentextFile (server.mappath (Dateiname), 1)
ifnotf.atendofstreamthen
tempcnt = f.readall
F.CLOSE
template = split (tempcnt, chr (13) & chr (10))
IFLINENUM> UBUND (TEMPARRAY)+1Then
Ausgangsfunktion
anders
Vorlage (Leinenum-1) = linecontent
Endif
tempcnt = join (temparray, chr (13) & chr (10))
setf = fso.createTextFile (server.mappath (Dateiname), true)
F.WritETEMPCNT
Endif
F.CLOSE
setf = nichts
Endfunktion
Funktionen zum Hinzufügen neuer Zeilen einer Datei mit FSO
functionFsoappine (Dateiname, linecontent)
Dimfso, f
setfso = server.createObject ("scripting.filesystemObject")
ifnotfso.FileExists (server.mappath (Dateiname)) Thenexitfunction
setf = fso.opentextFile (server.mappath (Dateiname), 8,1)
F.Writechr (13) & Chr (10) & linecontent
F.CLOSE
setf = nichts
Endfunktion
Funktionen, die die letzte Zeile der Datei lesen
functionFsolastline (Dateiname)
Dimfso, F, Temparray, tempcnt
setfso = server.createObject ("scripting.filesystemObject")
ifnotfso.FileExists (server.mappath (Dateiname)) Thenexitfunction
setf = fso.opentextFile (server.mappath (Dateiname), 1)
ifnotf.atendofstreamthen
tempcnt = f.readall
F.CLOSE
setf = nichts
template = split (tempcnt, chr (13) & chr (10))
FSolastline = temparray (Ubund (Temparray))
Endif
Endfunktion
FSO ersetzt das Zeichen der angegebenen Datei
Programmcode:
'FSO ersetzt das Zeichen der angegebenen Datei
FunctionFsolineEdit (Dateiname, Ziel, String)
Dimobjfso, objcountfile, fileTempdata
SetObjfso = server.createObject ("scripting.filesystemObject")
SetObjcountfile = objfso.opentextfile (server.mappath (Dateiname), 1, true)
FiletempData = objcountFile.readall
objcountfile.close
FiletempData = Ersetzen (FilETEMPDATA, Ziel, String)
SetObjcountfile = objfso.createTextFile (Server.Mappath (Dateiname), True)
objcountfile.writeFiletempdata
objcountfile.close
SetObjcountfile = nichts
SetObjfso = nichts
Endfunktion
'Response.writeFsolineEdit ("test.txt", "World", "Morgen ist ein guter Tag vor dem Gehen"))
Dateien löschen
Programmcode:
'Löschen Sie die Datei
FunktionDelfile (Dateiname)
IffFileName "" dann
Setfso = server.createObject ("scripting.filesystemObject")
IFFSO.FILEExists (Dateiname) dann
Fso.deleteFileFileName
Endif
Setfso = nichts
Endif
Endfunktion
Bestimmen Sie, ob die Datei existiert
Programmcode:
'Bestimmen Sie einfach, ob die Datei existiert
FunktionReportFilestatus (filespec)
Dimfso, MSG
Setfso = createObject ("scripting.filesystemObject")
If (fso.FileExists (filespec)) dann
msg = filespec & "existiert".
Anders
msg = filespec & "nicht existiert".
Endif
ReportFilestatus = msg
Endfunktion
Funktionen, die den dateispezifischen Inhalt mit FSO ändern
Programmcode:
'Verwenden Sie FSO, um die dateispezifischen Inhaltsfunktionen zu ändern
FunctionFsochange (Dateiname, Ziel, String)
Dimobjfso, objcountfile, fileTempdata
SetObjfso = server.createObject ("scripting.filesystemObject")
SetObjcountfile = objfso.opentextfile (server.mappath (Dateiname), 1, true)
FiletempData = objcountFile.readall
objcountfile.close
FiletempData = Ersetzen (FilETEMPDATA, Ziel, String)
SetObjcountfile = objfso.createTextFile (Server.Mappath (Dateiname), True)
objcountfile.writeFiletempdata
objcountfile.close
SetObjcountfile = nichts
SetObjfso = nichts
Endfunktion
Funktionen, die FSO verwenden, um eine bestimmte Zeile einer Datei zu schreiben
Programmcode:
'Verwenden Sie FSO, um eine Funktion zu schreiben, die eine bestimmte Zeile einer Datei hat
FunctionFsolineWrite (Dateiname, Leinenum, linecontent)
Iflinenum
Dimfso, F, Temparray, tempcnt
Setfso = server.createObject ("scripting.filesystemObject")
Ifnotfso.FileExists (server.mappath (Dateiname)) Thenexitfunction
Setf = fso.opentextFile (server.mappath (Dateiname), 1)
Ifnotf.atendofstreamthen
tempcnt = f.readall
F.CLOSE
tempArray = split (tempcnt, chr (13) & chr (10))
IFLINENUM> UBOUND (TEMPARRAY)+1Then
Ausgangsfunktion
Anders
Vorlage (Leinenum-1) = linecontent
Endif
tempcnt = join (temparray, chr (13) & chr (10))
Setf = fso.createTextFile (server.mappath (Dateiname), true)
F.WritETEMPCNT
Endif
F.CLOSE
Setf = nichts
Endfunktion
Das Programm, das ein Verzeichnis erstellt. Wenn es mehrere Verzeichnisse gibt, erstellen Sie jeweils eine Ebene.
Programmcode:
'Das Programm, das ein Verzeichnis erstellt. Wenn es mehrere Ebenen von Verzeichnissen gibt, schafft es jeweils eine Ebene.
FunktionCreatedir (ByvallocalPath)
OnErrorresumeNext
LokalPath = Ersetzen (lokaler Anhang, "/", "/")
SetFileObject = server.createObject ("scripting.FilesystemObject"))
Patharr = Split (LocalPath, "/")
Path_Level = Ubound (Patharr)
Fei = 0topath_level
Ifi = 0Thenpathtmp = Patharr (0) & "/" elsepathtmp = pathtmp & Patharr (i) & "/"
cpath = links (pathtmp, len (pathtmp) -1)
IfnotFileObject.FodereRexists (CPATH) ThenFileObject.CreateFolderCpath
Nächste
SetFileObject = nichts
ISTERR.NUMBER0Then
Createdir = false
Err.clear
Anders
Createdir = true
Endif
Endfunktion
Hier sind einige dieser uneinheitlichen, aber sehr coolen Funktionen:
FSO -Funktionen, die selten verstanden werden
GetSpecialForterMethod gibt den Pfad eines bestimmten Windows -Ordners zurück: Windows -Installationsverzeichnis; Windows -Systemverzeichnis; Windows Temporary Directory fso.getSpecialFolder ([0,1, OR2])
GetTempnamemethod gibt einen zufällig generierten Datei- oder Verzeichnisnamen zurück, der verwendet wird, wenn temporäre Daten erforderlich sind.
GetAbsolutepathnamemethod gibt den absoluten Pfad zum Ordner zurück (ähnlich wie Server.Mappath).
Zum Beispiel wird FSO.getabsolutepathname ("Region") ein ähnliches Ergebnis wie folgt zurückgeben: "C: mydocsmyfolyeregion"
GetExtensionSesionNamemethod gibt die Erweiterung des letzten Teils des Pfades zurück
(Zum Beispiel: fso.getExtensionName ("C: docSt.txt") wird TXT zurückgeben)
GetBasenAmandgetParentFortermethods gibt den übergeordneten Ordner des letzten Teils des Pfads zurück
(Zum Beispiel: fso.getParentFolder ("C: docsmydocs") wird 'docs' zurückgeben))
DriveProperty gibt eine Sammlung aller lokal verfügbaren Laufwerke zum Erstellen von ressourcen-browserähnlichen Benutzeroberflächen zurück.
Bei Verwendung der oben genannten Funktionen erstellen Sie am besten einen Code für die Fehlerbehandlung. Denn wenn die erforderlichen Parameter nicht vorhanden sind, werden problematische Informationen generiert.
Das obige ist eine detaillierte Analyse des FSO -Code. Ich glaube, Sie haben alles gelernt. Für mehr verwandte Inhalte achten Sie weiterhin auf den Wuxin -Technologiekanal.