Bonjour,
je débute en C# et je veux fusionner des fichiers texte en un seul fichier .
je cherche le code source en fait (la classe ).
j'ai besoin d'aide , merci
Bonjour,
je débute en C# et je veux fusionner des fichiers texte en un seul fichier .
je cherche le code source en fait (la classe ).
j'ai besoin d'aide , merci
Salut,
Pour ajouter le contenu de fichier1 à la suite de fichier2, on peut simplement faire ainsi:
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27 using System; using System.IO; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { FileInfo f1 = new FileInfo("c:\\temp\\fichier1.txt"); FileInfo f2 = new FileInfo("c:\\temp\\fichier2.txt"); using (FileStream fs = f1.OpenRead()) { byte[] buff = new byte[Convert.ToInt32(fs.Length)]; fs.Read(buff, 0, Convert.ToInt32(fs.Length)); using (StreamWriter fs2 = f2.AppendText()) { fs2.WriteLine(""); fs2.Write(Encoding.UTF8.GetString(buff, 0, buff.Length)); } } } } }
"Winter is coming" (ma nouvelle page d'accueil)
Ou en 1 ligne
Un petit try catch serait pas mal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part File.AppendAllText(path1, File.ReadAllText(path2));
Sacré raccourci!
Est-ce performant en cas de gros fichiers? La lecture charge-t-elle la totalité du fichier en mémoire ?
A+
"Winter is coming" (ma nouvelle page d'accueil)
Bonjour,
Merci à vos tous pour vos reponses , ca m'a boucoup aidé ,en fait je cherche pas à ajouter le contenu de fichier1 à la suite de fichier2 mais moi je veux fusionner 3 fichiers text dans un 4eme fichier texte :
fichier1.txt + fichier2.txt + fichier3.txt = fichier4.txt
Merci
Avec un peut de recherche là et en utilisant les posts précédents tu as tout ce qu'il te faut![]()
Je diraiCela devrait en plus économiser la mémoire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 using System; using System.IO; using System.Text; using System.Collections.Generic; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { List<FileInfo> lst = new List<FileInfo>(); // Le nb d'arguments doit etre au moins de deux if (args.Length > 0) { // On prend les premiers chemins qui seront les fichiers à lire for (int i = 0; i < args.Length - 1; i++) { try { FileInfo f = new FileInfo(args[i].ToLowerInvariant()); if (f.Exists) lst.Add(f); } catch (Exception) { throw; } } // Le dernier chemin est le fichier de fusion FileInfo fusion = new FileInfo(args[args.Length - 1]); if (fusion.Exists) fusion.Delete(); using (StreamWriter sw = File.AppendText(fusion.FullName)) { foreach (FileInfo f in lst) { using (StreamReader sr = File.OpenText(f.FullName)) { while (!sr.EndOfStream) { sw.WriteLine(sr.ReadLine()); } } } } } else Console.WriteLine("Tapez le chemin de deux fichiers"); Console.WriteLine("C'est fini. Tapez une touche."); Console.ReadLine(); } } }
A+
"Winter is coming" (ma nouvelle page d'accueil)
Partager