Rexx - File I / O

Rexx fornisce una serie di metodi quando si lavora con I / O. Rexx fornisce classi più semplici per fornire le seguenti funzionalità per i file.

  • Lettura di file
  • Scrittura su file
  • Verificare se un file è un file o una directory

Le funzioni disponibili in Rexx per File I / O si basano sia sull'input di riga che sull'input di caratteri e vedremo in dettaglio le funzioni disponibili per entrambi.

Esploriamo alcune delle operazioni sui file che Rexx ha da offrire. Ai fini di questi esempi, assumeremo che esista un file chiamatoNewFile.txt che contiene le seguenti righe di testo -

Example1

Example2

Example3

Questo file verrà utilizzato per le operazioni di lettura e scrittura nei seguenti esempi. Qui discuteremo di come leggere il contenuto di un file in modi diversi.

Leggere il contenuto di un file una riga alla volta

Le operazioni generali sui file vengono effettuate utilizzando i metodi disponibili nella libreria Rexx stessa. La lettura dei file è la più semplice di tutte le operazioni in Rexx.

Diamo un'occhiata alla funzione utilizzata per ottenere ciò.

linein

Questo metodo restituisce una riga dal file di testo. Il file di testo è il nome del file fornito come parametro di input alla funzione.

Syntax -

linein(filename)

Parameter -

  • filename - Questo è il nome del file da cui deve essere letta la riga.

Return Value - Questo metodo restituisce una riga del file alla volta.

Example -

/* Main program */ 
line_str = linein(Example.txt) 
say line_str

Il codice sopra è piuttosto semplice nel fatto che il file Example.txtil nome del file viene fornito alla funzione linein. Questa funzione quindi legge una riga di testo e fornisce il risultato alla variabileline_str.

Output - Quando eseguiamo il programma sopra, otterremo il seguente risultato.

Example1

Leggere il contenuto di un file in una sola volta

In Rexx, la lettura di tutto il contenuto di un file può essere ottenuta con l'aiuto dell'istruzione while. L'istruzione while leggerà ogni riga, una alla volta fino alla fine del file.

Di seguito è mostrato un esempio di come questo può essere ottenuto.

/* Main program */ 
do while lines(Example.txt) > 0  
line_str = linein(Example.txt) 
say line_str 
end

Nel programma di cui sopra, è necessario notare le seguenti cose:

  • La funzione righe legge il file Example.txt file.

  • La funzione while viene utilizzata per verificare se esistono ulteriori righe nel file Example.txt.

  • Per ogni riga letta dal file, il line_strvariabile contiene il valore della riga corrente. Questo viene quindi inviato alla console come output.

Output - Quando eseguiamo il programma sopra, otterremo il seguente risultato.

Example1 
Example2 
Example3

Scrittura di contenuti su un file

Proprio come la lettura di file, Rexx ha anche la capacità di scrivere su file. Diamo un'occhiata alla funzione che viene utilizzata per eseguire ciò.

rimessa laterale

Questo metodo scrive una riga in un file. Il file in cui deve essere scritta la riga viene fornito come parametro per l'istruzione lineout.

Syntax -

lineout(filename)

Parameter -

  • filename - Questo è il nome del file da cui deve essere scritta la riga.

Return Value- Questo metodo restituisce lo stato della funzione lineout. Il valore restituito è 0 se la riga è stata scritta con successo altrimenti verrà restituito il valore 1.

Example -

/* Main program */ 
out = lineout(Example.txt,"Example4")

Output - Ogni volta che viene eseguito il codice precedente, la riga "Example4" verrà scritta nel file Example.txt.