De la fusion de 2 Fichiers de Texte en C#

Tout d'abord, je voudrais juste mentionner que je n'ai commencé à apprendre le C# il y a quelques jours donc, ma connaissance est limitée.

Je suis en train de créer un programme qui s'occupe d'analyser les fichiers de texte pour certaines phrases entrée par l'utilisateur, puis de les exporter dans un nouveau document texte.

À l'instant, j'ai le programme de recherche de l'entrée d'origine du fichier et de collecte, la saisie de texte sélectionnée par l'utilisateur, l'adaptation de ces lignes, la création de nouveaux fichiers de texte, puis les fusionner ensemble et aussi de les supprimer par la suite.

Je devine que ce n'est pas le moyen le plus efficace de créer cette mais j'ai simplement créé et qu'il avait du travail dans une logique manoir pour moi de comprendre, en tant que novice.

Le code est comme suit;

private void TextInput1()
{
using (StreamReader fileOpen = new StreamReader(txtInput.Text))
{
using (StreamWriter fileWrite = new StreamWriter(@"*DIRECTORY*\FIRSTFILE.txt"))
{
string file;
while ((file = fileOpen.ReadLine()) != null)
{
if (file.Contains(txtFind.Text))
{
fileWrite.Write(file + "\r\n");
}
}
}
}
}
private void TextInput2()
{
using (StreamReader fileOpen = new StreamReader(txtInput.Text))
{
using (StreamWriter fileWrite = new StreamWriter(@"*DIRECTORY*\SECONDFILE.txt"))
{
string file;
while ((file = fileOpen.ReadLine()) != null)
{
if (file.Contains(txtFind2.Text))
{
fileWrite.Write("\r\n" + file);
}
}
}
}
}
private static void Combination()
{
ArrayList fileArray = new ArrayList();
using (StreamWriter writer = File.CreateText(@"*DIRECTORY*\FINALOUTPUT.txt"))
{
using (StreamReader reader = File.OpenText(@"*DIRECTORY*\FIRSTFILE.txt"))
{
writer.Write(reader.ReadToEnd());
}
using (StreamReader reader = File.OpenText(@"*DIRECTORY*\SECONDFILE.txt"))
{
writer.Write(reader.ReadToEnd());
}
}
}
private static void Delete()
{
if (File.Exists(@"*DIRECTORY*\FIRSTFILE.txt"))
{
File.Delete(@"*DIRECTORY*\FIRSTFILE.txt");
}
if (File.Exists(@"*DIRECTORY*\SECONDFILE.txt"))
{
File.Delete(@"*DIRECTORY*\SECONDFILE.txt");
}
}

Le fichier de sortie qui est créé est tout simplement la sortie de la première saisie de texte suivie par la seconde. Je me demande si c'est possible d'être en mesure de les fusionner dans 1 dossier, 1 ligne à la fois car c'est un consécutives fichier de sens d'avoir l'information à partir de l'Entrée 1 suivi 2 est nécessaire, plutôt que de tout de 1, alors tous les de 2.

Merci, Neil.

Donc, si je vous comprends bien, vous voulez écrire sur la ligne du premier fichier suivi par une ligne à partir de la deuxième fichier et ainsi de suite. Droit?
Vous pourriez faire à votre question d'une manière plus claire, parce que les réponses données, je pense, que I comprendre votre souhait différemment. Voulez-vous: la Lecture à partir de deux fichiers en parallèle et de faire la sortie en parallèle dans un seul fichier SANS avoir besoin de merge deux fichiers de sortie? C'est possible (et pas TROP difficile), même si on peut considérer que la lecture à partir de 2 fichiers (qui sont sur le même disque dur) en parallèle est généralement pas 2 fois plus rapide que la lecture 2 fichiers de manière séquentielle. Si vous êtes malchanceux, il sera beaucoup plus lent.
Je suis désolé si je n'ai pas le rendre clair. @Steve a la bonne idée. Après les 2 fichiers sont créés, les fusionner 1 ligne à la fois le sens, I. E. la Ligne 1 - Fichier 1, Ligne 1 - Fichier 2, Ligne 2 - le Fichier 1, Ligne 2 - le Fichier 2.

OriginalL'auteur Sildeh | 2012-12-12