web
file di testo Come creare, scrivere, leggere ed in generale gestire file di testo con ASP utilizzando Jscript.
         il mio computer  
 

File di testo con ASP Jscript

Pubblicato il: 17-6-2019

Ultima Modifica: 6-1-2024

In ASP (Active Server Pages) è possibile creare, scrivere, leggere e cancellare semplici file di testo utilizzando la tecnologia ASP. Naturalmente tutto questo è possibile solo all'interno di un server web, per questo è necessario avere installato sul proprio pc un server, oppure in uno spazio web su internet.

Il primo oggetto necessario per questo è FileSystemObject che consente di accedere al file system di un computer, esso contiene numerosi metodi che consentono di creare file, cartelle, di accedere alle loro proprietà di spostarli o cancellarli.

Dunque la prima cosa da fare è istanziare una variabile che rappresenta un riferimento a questo oggetto. Ecco qui sotto come fare.

Creazione di una variabile di tipo FileSystemObject copia
 

La variabile percorso spiego dopo a cosa serve.
L'oggetto ActiveXObject crea una istanza di OLE Automation, adesso tramite la variabile fso si può accedere a tutti i metodi di FileSystemObject.

A questo punto per creare un file di testo è possibile utilizzare due metodi che sono CreateTextFile() e OpenTextFile(). Vediamo qui sotto la loro sintassi.

CreateTextFile()

Crea il nome di file specificato e restituisce un oggetto TextStream che è possibile utilizzare per leggere dal file o per scrivere sul file.

fso.CreateTextFile(
nomefile[, sovrascrittura[, unicode]]) 

Dei tre parametri da passare al metodo il primo è obbligatorio, gli altri due sono opzionali.
Per quanto riguarda la variabile percorso, come possiamo vedere nel prossimo esempio l'ho utilizzata per memorizzare il valore restituito del metodo Server.MapPath() questo è un metodo dell'oggetto Server che restituisce il percorso assoluto all'interno del server della cartella che contiene il file attualmente in esecuzione quando nel suo parametro viene inserita una stringa che contiene il punto, e che servirà per ogni operazione che verrà eseguita su di un file in questo caso, ma può servire per qualsiasi operazione che viene eseguita sui file, o cartelle, all'interno del server.

nomefile: eventuale percorso e nome da assegnare al nuovo file.
sovrascrittura: valore booleano (true o false) che specifica se è possibile sovrascrivere un file, true si e false no. Se sovrascrittura è false o non viene specificato per un nome di file esistente si genera un errore, nel caso invece di sovrascrittura true per un nome di file esistente il suo eventuale contenuto viene cancellato.
unicode: valore booleano che specifica se il file viene creato come file Unicode o ASCII. true se il file viene creato come file Unicode, false se viene creato come file ASCII. Se omesso viene creato un file ASCII.
Qui sotto l'esempio.

Crea un file di testo copia
 

Se al parametro sovrascrittura viene assegnato un valore false per un file già esistente viene generato un errore.
Nella prima riga tra quelle evidenziate in blu si crea il file, quindi la variabile file1 contiene ora un oggetto TextStream (in pratica si tratta di quello che il metodo CreateTextFile() restituisce). Nella seconda riga in blu utilizzando il metodo Writeline() dell'oggetto TextStream si scrive dentro il file una riga di testo (questo metodo aggiunge automaticamente alla fine della stringa scritta un carattere di nuova riga), ed infine nella terza riga evidenziata in blu il file viene chiuso.

OpenTextFile()

Apre il file specificato e restituisce un oggetto TextStream che si utilizza per leggere scrivere oppure per aggiungere altro testo alla fine del file.

Anche in questo metodo il primo parametro è obbligatorio, gli altri tre sono facoltativi.

fso.OpenTextFile((nomefile[, modoIO[, creazione[, formato]]])

nomefile: Eventuale percorso e nome del file da aprire.
modoIO: Con questo parametro se si specifica il valore 1 il file viene aperto in lettura (non è possibile scrivere nel file). Se si specifica il valore 2 il file viene aperto in scrittura ed infine se si specifica il valore 8 il file viene aperto in scrittura accodando alla fine del file.
creazione: Questo è un valore booleano (true o false) che indica che nel caso che il file non esista se è possibile crearlo (true si e false no), quindi anche con questo metodo è possibile creare un nuovo file oltre che col metodo CreateTextFile()).
formato: Uno dei tre valori Tristate, se viene omesso il file verrà aperto in formato ASCII.
                TristateTrue: apre il file in formato Unicode.
               TristateFalse: apre il file in formato ASCII.
     TristateUseDefault: apre il file con l'impostazione predefinita del sistema.

Apre un file di testo copia
 

In questo esempio il file viene aperto, se non esiste lo crea (l'unica differenza con l'esempio di prima è che cambiano il secondo e terzo parametro del metodo) poi scrive la solita riga di testo ed infine chiude il file.

Scrittura di un file

Per scrivere un file l'oggetto TextStream mette a disposizione tre metodi descritti qui sotto.

Write(
stringa): scrive la stringa specificata in un file TextStream.
WriteLine(
stringa): scrive la stringa specificata in un file TextStream terminandola con un carattere di nuova riga.
WriteBlankLines(
caratteri): scrive il numero di caratteri di nuova riga specificati nel parametro caratteri.

Scrittura in un file copia
 


Lettura di un file

Per leggere un file l'oggetto TextStream mette a disposizione tre metodi descritti qui sotto.

Read(
caratteri): Legge il numero di caratteri specificato in un file TextStream, Il parametro caratteri è obbligatorio.
RedLine(
): legge una riga intera in un file TextStream fino al carattere di nuova riga escluso.
ReadAll(
): Legge l'intero file TextStream e restituisce tutto in una stringa.

Lettura di un file copia
 

Il metodo Close() chiude un file aperto in precedenza.
Ci sono poi altri due metodi che non ho menzionato, il metodo Skip() che durante la lettura di un file TextStream salta il numero di caratteri specificato, ed il metodo SkipLine() che durante la lettura salta la riga successiva.

Per quanto riguarda le proprietà dell'oggetto TextStream ve ne sono quattro descritte quì sotto.

AtEndOfLine: Restituisce true quando il puntatore del file TextStream si trova posizionato immediatamente prima dell'indicatore di fine riga, nel caso contrario invece restituisce false.
AtEndOfStream: Restituisce true quando il puntatore del file è posizionato alla fine, in caso contrario restituisce false.
Column: Restituisce il numero di colonna della posizione del carattere corrente in un file TextStream.
Line: Restitusce il numero di riga corrente in un file TextStream.