Leggere e scrivere file in ASP
In Asp è possibile leggere il contenuto di un file e scrivere in un file di testo.
L’oggetto che fa al nostro caso è il FileSystemObject: per aprire un file useremo OpenTextFile con 3 diverse modalità: lettura, scrittura, append.
La lettura del file può avvenire o con ReadLine (riga per riga) o con ReadAll (legge tutto il contenuto).
La modalità append si differenzia dalla modalità scrittura in quanto aggiunge del testo ad un documento già aperto accodandolo a quello già presente.
Leggere e scrivere file in ASP
Con questo script leggiamo il contenuto del file tutto in una volta:
<%
filePath = Server.Mappath(“file_testo.txt”)
Set objFileSystem = Server.CreateObject(“Scripting.FileSystemObject”)
if objFileSystem.FileExists(filePath ) then
‘apro file in lettura
Set objFile = objFileSystem.OpenTextFile(filePath, 1)
‘scrivo a video contenuto file
Response.Write objFile.ReadAll
‘oppure lo inserisco in una variabile contenuto_testo=objFile.ReadAll
objFile.Close
Set objFile=Nothing
end if
Set objFileSystem=Nothing
%>
Con questo script leggiamo il file riga per riga:
<%
filePath = Server.Mappath(“file_testo.txt”)
Set objFileSystem = Server.CreateObject(“Scripting.FileSystemObject”)
if objFileSystem.FileExists(filePath ) then
Set objFile = objFileSystem.OpenTextFile(filePath, 1)
‘leggo file riga per riga fino alla fine del file
Do While Not objFile.AtEndofStream
Response.Write objFile.ReadLine & “<br>”
Loop
objFile.Close
Set objFile=Nothing
end if
Set objFileSystem=Nothing
%>
Scrivo il testo nel file (controllare la cartella abbia i permessi di scrittura) e se il file non esiste lo creo:
<%
filePath = Server.Mappath(“file_testo.txt”)
Set objFileSystem = Server.CreateObject(“Scripting.FileSystemObject”)
if not objFileSystem.FileExists(filePath) then
‘se non esiste lo creo
objFileSystem.CreateTextFile(filePath)
end if
Set objFile = objFileSystem.OpenTextFile(filePath, 2)
‘scrivo una riga sul file
‘ objFileSystem.OpenTextFile(filePath, 2) -> sovrascrivo file
‘ objFileSystem.OpenTextFile(filePath, 8) -> aggiungo il testo al fondo del file
objFile.WriteLine(“nuovo testo file”)
objFile.Close
Set objFile=Nothing
Set objFileSystem=Nothing
%>