Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/04/2011, 09h28   #1
Membre à l'essai
 
Inscription : janvier 2009
Messages : 159
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 159
Points : 21
Points : 21
Par défaut Lire un fichier à partir de la fin

Bonjour à tous,

J'ai un fichier formaté de la sorte :

ch1/ch2/ch3/ch4/ch5
ch1/ch2/ch3
ch1//ch2/ch3/ch4

Comme vous pouvez le constater le fichier n'est pas régulier.

J'ai besoin d'extraire le dernier et avant dernier champ de chaque ligne, est-il possible de lire chaque ligne à partir de la fin

Je vous remercie
wissem.ba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 16h37   #2
Membre Expert
 
Avatar de haskouse
 
Homme Mustapha EL HASSAK
Ingénieur développement logiciels
Inscription : août 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Mustapha EL HASSAK
Âge : 26
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : août 2009
Messages : 627
Points : 1 514
Points : 1 514
Bonjour,

Je pense qu'il faudrait que tu lises ton fichier ligne par ligne (tinputFileDelimited) mais tu ne mets aucun délimiteur, comme ça il te récupère ligne par ligne

Et après tu fais un substring sur ta ligne récupérée pour ne prendre que le dernier et l'avant dernier champs.

Bonne chance.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui)

Mes articles publiés
haskouse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 10h10   #3
Nouveau Membre du Club
 
Jef Lehembre
Consultant en Business Intelligence
Inscription : mars 2011
Messages : 41
Détails du profil
Informations personnelles :
Nom : Jef Lehembre
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : mars 2011
Messages : 41
Points : 34
Points : 34
Pour avoir déjà bossé sur des problématiques très similaires, je te conseille de créer une petite routine qui va te permettre de récupérer facilement les derniers champs.

Pour cela, il te suffit d'utiliser LastIndexOf deux fois sur chaque séparateur pour avoir la position de l'avant dernier séparateur de chaque ligne.

Ensuite tu fais un substring de la valeur que tu as obtenue + 1 sur la longueur de la ligne.

Bref tu fais un truc du genre :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(
        public static String ExtractLastLines(String message,String separator) {
 
 
           int i = 0;
           int i2 = 0;
           String sep = separator;
           String mess = message;
 
           i = message.lastIndexOf(sep);
           String s2 = message.substring(0, i);
 
           i2 = s2.lastIndexOf(sep);
           String s3 = mess.substring(i2+1, length(mess));
 
           RETURN s3;  
        }
 )
En espérant que ça t'aide!
Croaker est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h06.


 
 
 
 
Partenaires

Hébergement Web