Supprimer quelques lignes qui sont prédéfinés dans une liste d'un fichier txt en

Résolu
moh05 Messages postés 28 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 23 mai 2012 - 28 déc. 2011 à 11:26
moh05 Messages postés 28 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 23 mai 2012 - 2 janv. 2012 à 14:52
bonjour ,
j'ai un fichier txt qui contient (une entete a supprimé +données a récupérée) ,moi je veux récupérer ces données et les injecters dans une table oracle (10champs ) :
mon idée est de supprimé toutes les lignes qui sont inutiles donc l'idée est de nettoyer le fichier de ces lignes ,en utilisant une liste donc la quelle je déclare tout les début de ligne qui vont etre supprimé .
veuillez m'orienter , est ce que mon idée est bonne ?et si c'est possible de me fournir un script qui qui fait ce traitement .

merci d'avance .

5 réponses

Tupad Messages postés 239 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 27 août 2012 5
29 déc. 2011 à 12:59
j'ai essayé avec le code suivant et ca fonctionne
 
public void RemoveTextLines(IList<string> linesToRemove)
        {
            // Read file 
            using (StreamReader sr = new StreamReader("a.txt"))
            {
                // Write new file 
                using (StreamWriter sw = new StreamWriter("b.txt"))
                {
                    // Read lines 
                    string line;
                    while ((line = sr.ReadLine()) != null)
                    {
                        // Look for text to remove 
                        if (!this.ContainsString(line, linesToRemove))
                        {
                            // Keep lines that does not match 
                            sw.WriteLine(line);
                        }
                    }
                }
            }
        }

        private bool ContainsString(string line, IList<string> linesToRemove)
        {
            foreach (string s in linesToRemove)
                if (line.StartsWith(s))
                    return true;
            return false;
        }



le fichier "a.txt" contient les lignes suivantes :
asrety
sgfrhjk
etryuyy
cvbjkj
d
epokgth

berty
rtyu
3
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
28 déc. 2011 à 11:44
re,

pourquoi refaire un topic (cf. celui-ci) ?
Et encore une fois on est là pour "aider", pas pour "faire".
Commence à coder ton truc et viens nous voir quand tu coinces.

Et quand bien même un helper s'ennuierait au point de te faire ton truc, ça manque de précisions (contenu réel du fichier, structure de ta table Oracle ...).
0
moh05 Messages postés 28 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 23 mai 2012 1
28 déc. 2011 à 15:35
j'ai commencé à codé mon traitement mais ça ne marche pas :
public static class TextLineRemover
{
public static void RemoveTextLines(IList<string> linesToRemove, string filename, string tempFilename)
{
// Initial values
int lineNumber = 0;
int linesRemoved = 0;
DateTime startTime = DateTime.Now;

// Read file
using (var sr = new StreamReader(monfichier))
{
// Write new file
using (var sw = new StreamWriter(tempFilename))
{
// Read lines
string line;
while ((line = sr.ReadLine()) != null)
{
lineNumber++;
// Look for text to remove
if (!ContainsString(line, linesToRemove))
{
// Keep lines that does not match
sw.WriteLine(line);
}
voici mon code mais je suis bloqué .......
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
28 déc. 2011 à 15:51
Re,

plusieurs questions :
- la première, celle que n'importe qui te posera : quelle est l'erreur ?
- d'où sort la fonction ContainsString() ?
- sais-tu d'avance quelles lignes supprimer que tu puisses ainsi les mettre en paramètre de ta fonction ? (ça me parait un peu bizarre).

Sinon à part un manque d'accolade qui de toute façon t'empêcherait purement et simplement de compiler, ton code me parait correct.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moh05 Messages postés 28 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 23 mai 2012 1
2 janv. 2012 à 14:52
merci beaucoup pour votre réponse .
0
Rejoignez-nous