1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 63
    Points : 22
    Points
    22

    Par défaut Modifier un fichier texte.

    j'ai un fichier texte de ce type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <param1><url>http:...</url><dud1>montextedudomainupdown1</dud1><dud2>montextedudomainupdown2</dud2><dud3>montextedudomainupdown3</dud3></param1>
    <param2><url>http:...</url><dud1>montextedudomainupdown1</dud1><dud2>montextedudomainupdown2</dud2><dud3>montextedudomainupdown3</dud3></param2>
    <param3><url>http:...</url><dud1>montextedudomainupdown1</dud1><dud2>montextedudomainupdown2</dud2><dud3>montextedudomainupdown3</dud3></param3>
    <param4><url>http:...</url><dud1>montextedudomainupdown1</dud1><dud2>montextedudomainupdown2</dud2><dud3>montextedudomainupdown3</dud3></param4>
    J'aimerai pouvoir modifier les valeurs comprise entre <paramx></paramx> sans toucher aux autres param.
    Donc je suppose lire mon fichier texte(a coup de readline), trouver la ligne param qui m'interesse (a coup de Regex.match) et la remplacer par mes nouveaux param et sauvegarder le tout.
    Mon souci c'est surtout "remplacer" qu'une partie du fichier sans toucher le reste et sauvegarder.
    J'espère c'est assez clair. Merci d'avance.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 63
    Points : 22
    Points
    22

    Par défaut

    bon j'ai trouvé.
    String Reader
    String Builder avec un match
    String Writer à la fin avec mon string builder.
    Rien de bien compliqué en fait.
    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
    private void saveparam(string paramtype)
    {
        Lock(this)
        {
            string param = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName) + @"\settings\param\" + this.Login + ".txt";
            if (System.IO.File.Exists(param))
            {
                string str1;
                string str2 = string.Concat(new object[] { "<" + paramtype + "><url>", this.Av_url, "</url><dud1>", this.domainUpDown1.Text, "</dud1><dud2>", this.domainUpDown2.Text, "</dud2><dud3>", this.domainUpDown3.Text, "</dud3></" + paramtype + ">" });
                string matchok = "Failed";
                Match match1;
                StreamReader reader = new StreamReader(param);
                StringBuilder sb = new StringBuilder();
                while ((str1 = reader.ReadLine()) != null && str1 != "")
                {
                    match1 = Regex.Match(str1, "<" + paramtype + ">(.*)</" + paramtype + ">");
                    if (match1.Success)
                    {
                        matchok = "True";
                        str1 = str3;
                    }
                    sb.AppendLine(str1);
                }
                if (matchok == "Failed")
                {
                    sb.AppendLine(str3);
                }
                reader.Close();
                using (StreamWriter writer = new StreamWriter(Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName) + @"\settings\param\" + this.Login + ".txt"))
                {
                    writer.WriteLine(sb.ToString());
                    writer.Close();
                }
            }
        }
    }

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo