- +31 74 750 12 20 |
- Webmail |
- Inloggen MijnPerrit |
- Contact |
- Bel me nu |
- +31 74 750 12 20 |
- Webmail |
- Inloggen MijnPerrit |
- Contact |
- Bel me nu |

0 producten: € 0,00
Tekstbestanden manipuleren in een ASP-pagina
Gepost op 22-01-2007 - Overige Microsoft Producten - 0 reacties
De informatie in dit artikel is van toepassing op:
- Microsoft Active Server Pages 4.0 op de volgende platformen
- Microsoft Windows 2000 Standard Edition
- Microsoft Windows NT 4.0
Dit artikel is eerder gepubliceerd onder NL300982
In deze taak
- Samenvatting
- Vereisten
- Het FileSystemObject maken
- Tekstbestanden maken, openen en verwijderen
- Lezen van en schrijven naar een tekstbestand
- Tekstbestanden verplaatsen en kopiëren
- Probleemoplossing
- Verwijzingen
Samenvatting
In dit artikel wordt beschreven hoe u tekstbestanden maakt, schrijft, leest, verplaatst, kopieert en verwijdert vanuit een ASP-pagina (Active Server Pages).
U kunt een tekstbestand gebruiken omdat dit eenvoudiger is (wanneer een database of een meer gecompliceerde bestandsindeling overdreven is) of wanneer u al bestaande gegevens hebt in de vorm van tekstbestanden. Typische scenario's zijn:
- Een plat bestand lezen of schrijven dat is gemaakt of wordt gebruikt door een mainframe, een toepassing van derden of een handelspartner.
- Dynamische batch- of scriptbestanden van Windows genereren op basis van parameters die worden geleverd door een clienttoepassing.
Het COM-object (Component Object Model) Scripting.FileSystemObject stelt een groot aantal voorzieningen beschikbaar voor het manipuleren van stations, mappen en bestanden. Dit FileSystemObject-object (FSO) is geïmplementeerd binnen een in-process COM-server met de naam ScrObj.dll. In dit artikel worden alleen de voorzieningen voor bestandsmanipulatie van het FSO-objectmodel beschreven.
Terug naar begin
Vereisten
Een computer met een van de volgende combinaties:
- Microsoft Internet Information Server (IIS) 4.0 en Active Server Pages (ASP) 2.0.
- Internet Information Services 5.0 en Active Server Pages 3.0.
Afgezien van de implementatiedetails kunt u de algemene technieken gebruiken met elke scripttaal die Microsoft COM-technologie ondersteunt. Deze zijn ook niet beperkt tot ASP.
Het is nuttig als u bekend bent met VBScript of JScript.
Terug naar begin
Het FileSystemObject maken
Voordat u tekstbestanden gaat manipuleren, maakt u als volgt het FSO:
VBScript-code
Dim objFSOSet objFSO = CreateObject("Scripting.FileSystemObject") JScript-code
var objFSO;objFSO = new ActiveXObject("Scripting.FileSystemObject"); Terug naar begin
Tekstbestanden maken, openen en verwijderen
Het FSO stelt de methode CreateTextFile beschikbaar, waarmee u een leeg tekstbestand kunt maken. Het stelt tevens de methoden OpenTextFile en DeleteFile beschikbaar, waarmee u een bestaand bestand respectievelijk kunt openen en verwijderen. U kunt echter ook het File-object gebruiken om elk van deze bewerkingen uit te voeren. Om een instantie van het File-object te maken, roept u de methode GetFile van het FSO aan. In dit artikel worden echter alleen de rechtstreekse methoden voor het FSO beschreven. Zie de sectie 'Referenties' voor meer informatie over de technieken met het File-object.
Met de methode OpenTextFile kunnen bestanden worden geopend om te worden gelezen of geschreven, of om er tekstgegevens aan toe te voegen.
VBScript-code
Dim objFSO, objCreatedFile, objOpenedFileConst ForReading = 1, ForWriting = 2, ForAppending = 8
'Het FSO maken.Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objCreatedFile = objFSO.CreateTextFile("c:\HowToDemoFile.txt", True)Set objOpenedFile = objFSO.OpenTextFile("c:\HowToDemoFile2.txt", ForWriting, True)
'OjCreatedFile en objOpenedFile gebruiken om de bijbehorende bestanden te manipuleren.objCreatedFile.CloseobjOpenedFile.Close
'Verwijder de bestanden.objFSO.DeleteFile "c:\HowToDemoFile.txt"objFSO.DeleteFile "c:\HowToDemoFile2.txt" JScript-code
var objFSO, objCreatedFile, objOpenedFile;var ForReading = 1, ForWriting = 2, ForAppending = 8;
// Het FSO maken.objFSO = new ActiveXObject("Scripting.FileSystemObject");
objCreatedFile = objFSO.CreateTextFile("c:\HowToDemoFile.txt", true);objOpenedFile = objFSO.OpenTextFile("c:\HowToDemoFile2.txt", ForWriting, true);
// OjCreatedFile en objOpenedFile gebruiken om de bijbehorende bestanden te manipuleren.objCreatedFile.Close();objOpenedFile.Close();
// Verwijder de bestanden.objFSO.DeleteFile("c:\HowToDemoFile.txt");objFSO.DeleteFile("c:\HowToDemoFile2.txt"); Terug naar begin
Lezen van en schrijven naar een tekstbestand
De methode CreateTextFile of OpenTextFile van het FSO retourneert een instantie van het TextStream-object, dat methoden beschikbaar stelt voor het schrijven of lezen van tekstbestanden.
Zowel de methode Write als WriteLine voegt tekst toe een een geopend bestand, maar met WriteLine wordt tevens een teken voor een nieuwe regel toegevoegd. Met de methode WriteBlankLines worden een of meer lege regels geschreven naar een geopend bestand, op basis van de parameter die is opgegeven.
Met de methode Read wordt het opgegeven aantal tekens vanaf de huidige positie in het geopende bestand gelezen. Met de methode ReadLine wordt een gehele regel gelezen (tot aan, maar exclusief, het teken voor een nieuwe regel), terwijl met de methode ReadAll de hele inhoud van het geopende bestand wordt gelezen. Met deze drie methoden wordt de resulterende tekst opgeslagen in een tekenreeks die u eenvoudig kunt manipuleren met verschillende bewerkingen voor het manipuleren van tekenreeksen.
In de volgende code ziet u het gebruik van deze methoden:
VBScript-code
Dim objFSO, objTextFileDim sRead, sReadLine, sReadAllConst ForReading = 1, ForWriting = 2, ForAppending = 8
Set objFSO = CreateObject("Scripting.FileSystemObject")Set objTextFile = objFSO.CreateTextFile("c:\HowToDemoFile.txt", True)
' Een regel schrijven met een teken voor een nieuwe regel.objTextFile.WriteLine("Deze regel wordt geschreven met WriteLine().")
' Een regel schrijven.objTextFile.Write ("Deze regel wordt geschreven met Write().")
' Drie tekens voor een nieuwe regel schrijven naar het bestand.objTextFile.WriteBlankLines(3)
objTextFile.Close
' Bestand openen voor lezen.Set objTextFile = objFSO.OpenTextFile("c:\ProcDemoBest.txt", ForReading)
' Verschillende methoden gebruiken om de inhoud van het bestand te lezen.sReadLine = objTextFile.ReadLinesRead = objTextFile.Read(4)sReadAll = objTextFile.ReadAll
objTextFile.Close JScript-code
var objFSO, objTextFile;var sRead, sReadLine, sReadAll;var ForReading = 1, ForWriting = 2, ForAppending = 8;
objFSO = new ActiveXObject("Scripting.FileSystemObject");objTextFile =objFSO.CreateTextFile("c:\HowToDemoFile.txt", true);
// Een regel schrijven met een teken voor een nieuwe regel.objTextFile.WriteLine("Deze regel wordt geschreven met WriteLine().");
// Drie tekens voor een nieuwe regel schrijven naar het bestand.objTextFile.WriteBlankLines(3);
// Een regel schrijven.objTextFile.Write ("Deze regel wordt geschreven met Write().");objTextFile.Close();
// Bestand openen voor lezen.objTextFile = objFSO.OpenTextFile("c:\HowToDemoFile.txt", ForReading);
// Verschillende methoden gebruiken om de inhoud van het bestand te lezen.sReadLine = objTextFile.ReadLine();sRead = objTextFile.Read(4);sReadAll = objTextFile.ReadAll();
objTextFile.Close(); Terug naar begin
Tekstbestanden verplaatsen en kopiëren
Het FSO stelt de methoden MoveFile en CopyFile beschikbaar, waarmee u bestanden respectievelijk kunt verplaatsen en kopiëren. U kunt echter ook het File-object gebruiken om deze twee bewerkingen uit te voeren. Om een instantie van het File-object te maken, roept u de methode GetFile van het FSO aan. In dit artikel worden echter alleen de rechtstreekse methoden voor het FSO beschreven. Zie de sectie 'Referenties' voor meer informatie over de technieken met het File-object.
In de volgende code ziet u het gebruik van deze methoden:
VBScript-code
Dim objFSOSet objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile "c:\HowToDemoFile.txt", "c:\Temp\"objFSO.CopyFile "c:\Temp\HowToDemoFile.txt", "c:\" JScript-code
var objFSO;objFSO = new ActiveXObject("Scripting.FileSystemObject");
objFSO.MoveFile("c:\HowToDemoFile.txt", "c:\Temp\");objFSO.CopyFile("c:\Temp\HowToDemoFile.txt", "c:\"); Terug naar begin
Probleemoplossing
- Foutberichten bij het maken van Scripting.FileSystemObject:
Dit probleem kan de volgende oorzaken hebben:
- ScrObj.dll is niet geïnstalleerd op de distributiecomputer.
- ScrObj.dll is per ongeluk verwijderd.
- De registratie van ScrObj.dll in het COM-register is per ongeluk verwijderd.
Omdat ScrObj.dll wordt opgeslagen in de map <Installatiemap van Windows>\System32, maakt het deel uit van de Dynamic-Link Libraries (DLL's) van het besturingssysteem. Het bestand kan daarom niet worden verwijderd op Windows 2000-computers, tenminste niet zonder extreme maatregelen waardoor het systeem ernstig wordt verstoord. - Foutberichten tijdens het uitvoeren van bewerkingen om bestanden te manipuleren:
Wanneer stations zijn geformatteerd met het bestandssysteem NTFS, hebben gebruikers in de groep Administrator het beheer over beveiligingsmachtigingen voor gehele stations, mappen en bestanden. Met name op webservers moeten Administrators sterke beveiligingsmachtigingen afdwingen om illegale toegang tot bestanden en gegevens te voorkomen. Wanneer u een ASP-toepassing maakt die gebruikmaakt van de eerder genoemde technieken voor het manipuleren van bestanden, moet extra aandacht worden besteed aan de beveiligingsmachtigingen voor het bestandssysteem op distributiecomputers, om fouten te voorkomen die betrekking hebben op onvoldoende beveiligingsmachtigingen.
Referenties
Raadpleeg de volgende MSDN-websites voor meer informatie over scripting:
Basisbeginselen voor FileSystemObject
http://msdn.microsoft.com/library/en-us/script56/html/jsfsotutor.asp
Het FileSystemObject programmeren
http://msdn.microsoft.com/library/en-us/script56/html/sgprogrammingfilesystemobject.asp
Deze onderwerpen vindt u ook in de volgende mappen op de MSDN-cd van april 2001 onder "Platform SDK Documentation":
Tools and Scripting\Scripting\Scripting Runtime\FileSystemObject Object
Relevante artikelen |
Gekoppelde tagsActiveX, ASP, Database, DLL, Foutbericht, IIS, Windows 2000, Windows NT |
Reacties
Nog geen reacties geplaatst.
