FileReaderPattern
Le masque FileReaderPattern est utilisé pour lire des données textuelles à partir d'un fichier.
Classes prises en charge
La classe TextFileReader fournit la logique d'ouverture d'un fichier particulier et de lecture, ligne par ligne, des données texte qu'il contient.
Propriétés requises
Les propriétés suivantes sont requises pour le masque.
Nom de la propriété | valeur |
---|---|
PATTERN_IMPL_CLASS | Classe implémentant l'interface FileReaderPattern |
FILENAME | Chemin complet vers le fichier d'entrée |
Propriétés facultatives
Les propriétés suivantes sont optionnelles pour le masque.
Nom de la propriété | valeur | Description |
---|---|---|
debug | true ou false (la valeur par défaut est false) | Active le traçage détaillé sur ce flux de données par lots. |
EnablePerformanceMeasurement | true ou false (la valeur par défaut est false) | Calcule le temps écoulé dans les flux de données par lots et la méthode processRecord, si vous utilisez GenericXDBatchStep. |
EnableDetailedPerformanceMeasurement | true ou false (la valeur par défaut est false) | Fournit un arrêt plus détaillé du temps écoulé dans chaque méthode des flux de données par lots. |
file.encoding | Codage du fichier. | Par exemple, 8859_1 |
AppendJobldToFileName | true ou false (la valeur par défaut est false) | Ajoute l'ID du travail au nom de fichier avant le chargement du fichier. |
Définition de l'interface
public interface FileReaderPattern {
/**
* Invoked during the step setup phase
* @param props
*/
public void initialize(Properties props);
/**
* This method is invoked only once. It should be used
* to read any header data if necessary.
* @param reader
* @throws IOException
*/
public void processHeader(BufferedReader reader) throws IOException;
/**
* This method should read the next line from the reader
* and return the data in suitable form to be processed
* by the step.
* @param reader
* @return
* @throws IOException
*/
public Object fetchRecord(BufferedReader reader) throws IOException;
/**
* This method can be optionally invoked from the process step
* to obtain the header data that was previously obtained during the processHeader
* call
* @return
*/
public Object fetchHeader();
}
Exemple xJCL
<batch-data-streams>
<bds>
<logical-name>inputStream</logical-name>
<props>
<prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoReader"/>
<prop name="file.encoding" value="8859_1"/>
<prop name="FILENAME" value="/opt/txlist.txt" />
<prop name="debug" value="true"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.TextFileReader</impl-class>
</bds>
</batch-data-streams>