C# 3.0 Application permettant de concaténer plusieurs fichiers
Seth75
Messages postés9Date d'inscriptionmardi 29 janvier 2008StatutMembreDernière intervention16 février 2009
-
20 oct. 2008 à 11:39
Seth75
Messages postés9Date d'inscriptionmardi 29 janvier 2008StatutMembreDernière intervention16 février 2009
-
20 oct. 2008 à 15:11
Bonjour,
j'espère que vous pourrez m'aider dans ma démarche.
Je dois créer une application qui doit concaténer plusieurs fichier .txt.
Jusque là tout va bien, j'ai parser mon document où tous les fichiers sont stokés, puis je les concaténent entre eux par rapport a leur nom. Jusque là tout va bien :) Seul problème ils ont tous la même première ligne et je veux que la première ligne n'apparaisse qu'une fois dans le fichier concaténer au début.
J'ai utiliser la méthode distinc() cela fonctionnait mais il enlèvait les doublons et certaines lignes doivent être en doubles. J'ai essayer plusieur solution mais je ne vois pas comment faire, c'est un truc tout bête à faire ....
Je ne sais pas si j'ai été assez clair merci infiniment si vous pouvez prendre du temps afin de m'aider.
Cordialement,
A voir également:
C# 3.0 Application permettant de concaténer plusieurs fichiers
xmox667
Messages postés357Date d'inscriptionjeudi 8 juin 2006StatutMembreDernière intervention26 décembre 20114 20 oct. 2008 à 12:33
Salut,
Si ils ont tous la même ligne de départ:
1) tu copies le premier fichier en intégralité
2) tu copies les autres fichiers à partie de la deuxième ligne
A+
Seth75
Messages postés9Date d'inscriptionmardi 29 janvier 2008StatutMembreDernière intervention16 février 2009 20 oct. 2008 à 12:54
Je voudrais me positionner justement dans le fichier genre if(maligne == " machaine de caractere") alors j'efface dans tous les fichiers puis dans le fichier concaténer if(maligne != "machaine de caractere " ) ecrire la chaine de caractere . Un truc dans le genre je sais pas comment l'exprimer actuellement j'ai une boucle foreach qui va parser mon document avec tous les fichiers puis des boucles if à l'intérieur qui vérfie le nom des fichiers afin de les concaténer ensemble. Une fois le fichier concaténer je sais pas comment m'y prendre .. ..
xmox667
Messages postés357Date d'inscriptionjeudi 8 juin 2006StatutMembreDernière intervention26 décembre 20114 20 oct. 2008 à 12:54
Salut,
Un peu code qui utilise un OpenFileDialogue
OpenFileDialog OpenFileDialog = new OpenFileDialog();
//personnalisation du OpenFileDialog
if (OpenFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
using(TextWriter Writer = new StreamWriter("mon fichier de destination"))
{
for (int i = 0; i < OpenFileDialog.FileNames.Length; i++)
{
string Line = string.Empty;
int Number = 0;
using(TextReader Reader = new StreamReader(OpenFileDialog.FileNames[i]))
{ while ((Line Reader.ReadLine()) null)
{
if (i == 0) Writer.WriteLine(Line); //copie toutes les lignes du premier fichier
else if (Number > 0) Writer.WriteLine(Line); //copie toutes les lignes des autres fichier à partir de la 2eme ligne
Number++;
}
}
}
}
}
catch (Exception ex)
{
//traitement de l'erreur
}
danious
Messages postés27Date d'inscriptionjeudi 8 juillet 2004StatutMembreDernière intervention 5 novembre 2008 20 oct. 2008 à 13:37
Comme l'a montré xmox667, si tu utilises TextReade/TextWriter, tes données sont récupérées sous forme de string. A partir de là, tu peux facilement :
- concaténer (en utilisant plutôt string.Concat pour lui passer directement ton tableau de string)
- enlever la premiere ligne : chaine = chaine.Remove(0, chaine.IndexOf('\n'))
- supprimer les occurences d'une ligne : chaine = chaine.Replace(ligne, "")
Je n'ai pas compris exactement ce que tu veux faire, mais en combinant tout ça tu devrais arriver à tes fins.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Seth75
Messages postés9Date d'inscriptionmardi 29 janvier 2008StatutMembreDernière intervention16 février 2009 20 oct. 2008 à 15:11
J'aimerai écrire une chaine de caractères sur la premiere ligne sans effacer le reste ni la premiere ligne en fait ... c'est super con :s merci de vos réponses en tout cas