> > Articoli

Gestire file di testo con FileSystemObject
di Stefano Stracuzzi

Data di pubblicazione: 22/08/2001        Voto della community: 4,51 (Votanti: 19)

FSO, acronimo di FileSystemObject, è lo strumento che si ha a disposizione quando si intende lavorare con file di testo tramite script ASP. In questo articolo analizzeremo i metodi dell'oggetto FSO.

Per poter accedere a dei file di testo tramite un script ASP è necessario utilizzare l'oogetto FileSystemObject (FSO). Da sottolineare che il tipo di dati a cui si può accedere tramite questo oggetto sono solo dei file ASCII. All'oggetto FSO è associato anche un oggetto denominato TextStream (TS) che si occupa di gestire l'accesso ai file.

Tramite le proprietà e i metodi di FSO e di TS si possono eseguire principalmente due tipologie di operazioni:

Ecco una serie di esempi pratici per effettuare tutte le precedenti operazioni:

Creazione di un file

Metodi utilizzati: CreateTextFile.

<%
Dim fsoMyFile
Dim tsTextStream

'Creazione dell'istanza FSO.
Set fsoMyFile = CreateObject("Scripting.FileSystemObject")

'Apertura del file , se esso esiste lo sovrascrive.
Set tsTextStream = fsoMyFile.CreateTextFile(Server.MapPath("/public/miofile.txt"), True)
%>

Aggiunta dati ad un file

Metodi utilizzati: OpenTextFile, Write, WriteLine, WriteBlankLines.

<%
Dim fsoMyFile
Dim tsTextStream

'Creazione dell'istanza FSO.
Set fsoMyFile = CreateObject("Scripting.FileSystemObject")

'Apertura del file, in aggiunta dati (8), se non esiste lo crea (True).
Set tsTextStream = fsoMyFile.OpenTextFile(Server.MapPath("/public/miofile.txt"), 8, True)

'Scrive una riga.
tsTextStream.Write ("Riga di prova.")

'Scrive una nuova riga.
tsTextStream.WriteLine("Nuova riga di prova.")

'Scrive 5 righe vuote nel file.
tsTextStream.WriteBlankLines(5)

'Chiude il file.
tsTextStream.Close
%>

Lettura dati da un file

Metodi utilizzati: Read, ReadLine, ReadAll.

<%
Dim fsoMyFile
Dim tsTextStream
Dim sTesto

'Creazione dell'istanza FSO.
Set fsoMyFile = CreateObject("Scripting.FileSystemObject")

'Apertura del file, in lettura dati (1).
Set tsTextStream = fsoMyFile.OpenTextFile(Server.MapPath("/public/miofile.txt"), 1)

'Legge 100 caratteri da un file.
sTesto = tsTextStream.Read(100)

'Legge una riga da un file.
sTesto = tsTextStream.ReadLine

'Legge tutto il contenuto di un file.
sTesto = tsTextStream.ReadAll

'Chiude il file.
tsTextStream.Close
%>

Copia di un file

Metodi utilizzati: CopyFile.

<%
Dim fsoMyFile

'Creazione dell'istanza FSO.
Set fsoMyFile = CreateObject("Scripting.FileSystemObject")

'Copia un file, se esiste lo sovrascrive (True).
fsoMyFile.CopyFile Server.MapPath("/public/miofileorigine.txt"), _
                                  Server.MapPath("/public/miofiledestinazione.txt"), True
%>

Spostamento di un file

Metodi utilizzati: MoveFile.

<%
Dim fsoMyFile

'Creazione dell'istanza FSO.
Set fsoMyFile = CreateObject("Scripting.FileSystemObject")

'Sposta un file.
fsoMyFile.MoveFile Server.MapPath("/public/miofileorigine.txt"), _
                                  Server.MapPath("/public/miofiledestinazione.txt"), True
%>

Cancellazione di un file

Metodi utilizzati: DeleteFile.

<%
Dim fsoMyFile

'Creazione dell'istanza FSO.
Set fsoMyFile = CreateObject("Scripting.FileSystemObject")

'Cancella un file.
fsoMyFile.DeleteFile Server.MapPath("/public/miofile.txt")
%>

Questa spiegazione è tratta da alcuni articoli del Microsoft Developer Network (MSDN). Alcune delle fonti a cui ho fatto riferimento e che possono servire per approfondire l'argomento sono:

FilesystemObject
Working With Files
OpenTextFile Method
INFO: Limitations of the FileSystemObject

Vota questo articolo >>