Rexx - E / S fichier

Rexx fournit un certain nombre de méthodes lors de l'utilisation d'E / S. Rexx fournit des classes plus simples pour fournir les fonctionnalités suivantes pour les fichiers.

  • Lecture de fichiers
  • Écriture dans des fichiers
  • Voir si un fichier est un fichier ou un répertoire

Les fonctions disponibles dans Rexx pour les E / S de fichiers sont basées à la fois sur l'entrée de ligne et sur l'entrée de caractères et nous examinerons en détail les fonctions disponibles pour les deux.

Explorons certaines des opérations sur les fichiers que Rexx a à offrir. Pour les besoins de ces exemples, nous allons supposer qu'il existe un fichier appeléNewFile.txt qui contient les lignes de texte suivantes -

Example1

Example2

Example3

Ce fichier sera utilisé pour les opérations de lecture et d'écriture dans les exemples suivants. Ici, nous allons discuter de la façon de lire le contenu d'un fichier de différentes manières.

Lecture du contenu d'un fichier ligne par ligne

Les opérations générales sur les fichiers sont effectuées en utilisant les méthodes disponibles dans la bibliothèque Rexx elle-même. La lecture de fichiers est la plus simple de toutes les opérations dans Rexx.

Regardons la fonction utilisée pour accomplir cela.

faire la queue

Cette méthode renvoie une ligne du fichier texte. Le fichier texte est le nom de fichier fourni comme paramètre d'entrée de la fonction.

Syntax -

linein(filename)

Parameter -

  • filename - C'est le nom du fichier à partir duquel la ligne doit être lue.

Return Value - Cette méthode renvoie une ligne du fichier à la fois.

Example -

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

Le code ci-dessus est assez simple dans le fait que le Example.txtLe nom de fichier est fourni à la fonction linein. Cette fonction lit ensuite une ligne de texte et fournit le résultat à la variableline_str.

Output - Lorsque nous exécutons le programme ci-dessus, nous obtiendrons le résultat suivant.

Example1

Lecture du contenu d'un fichier en une seule fois

Dans Rexx, la lecture de tout le contenu d'un fichier peut être réalisée à l'aide de l'instruction while. L'instruction while lira chaque ligne, une par une, jusqu'à ce que la fin du fichier soit atteinte.

Un exemple de la manière dont cela peut être réalisé est présenté ci-dessous.

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

Dans le programme ci-dessus, les choses suivantes doivent être notées -

  • La fonction lines lit le Example.txt fichier.

  • La fonction while est utilisée pour vérifier si d'autres lignes existent dans le fichier Example.txt.

  • Pour chaque ligne lue dans le fichier, le line_strvariable contient la valeur de la ligne courante. Ceci est ensuite envoyé à la console en tant que sortie.

Output - Lorsque nous exécutons le programme ci-dessus, nous obtiendrons le résultat suivant.

Example1 
Example2 
Example3

Écrire du contenu dans un fichier

Tout comme la lecture de fichiers, Rexx a également la capacité d'écrire dans des fichiers. Regardons la fonction qui est utilisée pour accomplir cela.

alignement

Cette méthode écrit une ligne dans un fichier. Le fichier dans lequel la ligne doit être écrite est fourni en tant que paramètre de l'instruction lineout.

Syntax -

lineout(filename)

Parameter -

  • filename - C'est le nom du fichier à partir duquel la ligne doit être écrite.

Return Value- Cette méthode retourne l'état de la fonction d'alignement. La valeur renvoyée est 0 si la ligne a été écrite avec succès, sinon la valeur 1 sera renvoyée.

Example -

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

Output - Chaque fois que le code ci-dessus est exécuté, la ligne «Example4» sera écrite dans le fichier Example.txt.