Modification boucle extraction dans fichier text
Bonjour à tous,
J'aurai besoin d'aide pour modifier une procédure d'extraction d'information dans un fichier txt formaté par des delimiteurs.
J'utilise le code ci-dessous (simplifié) qui fonctionne parfaitement;
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
try
{
Thread.Sleep(1000);
String[] files = Directory.GetFiles(SourcePath + "\\", "*" + FileType, SearchOption.TopDirectoryOnly);
foreach (String file in files)
{
string[] lines = File.ReadAllLines(file);
string fileDest = DestPath + "\\" + "Convert_" + Path.GetFileName(file);
using (StreamWriter sw = new StreamWriter( fileDest))
{
foreach (string line in lines)
{
var segments = line.Split(Convert.ToChar(Service1.FieldDelimiter));
// BLABLA
sw.WriteLine(segments[a-1] + "|" + segments[b-1] + "|" + segments[c-1] + "|" + segments[d-1] + "|" + datefinal + "|" + heurefinal + "|" +segments[g-1] + "|" + segments [h-1]);
}
}
File.Move(file, AppDomain.CurrentDomain.BaseDirectory + "\\Log\\" + new FileInfo(file).Name); |
Cependant ce code prend en compte toutes les lignes du fichier txt mais j'ai certain cas ou je ne souhaiterai pas prendre en compte la premiere ligne de chaque fichier (cas ou le fichier comporte des entête).
Du coup dans mon fichier de configuration j'ai ajouté une option pour prendre en compte ou non la présence d'une entête sur les fichiers. Par contre je ne sais pas comment modifier mon code pour rendre en compte cette option.
Je ne pense pas pouvoir rester sur une boucle "foreach" pour faire ce que je veux. Si?
Une piste pour modifier mon code?
Merci