Précédent   Forum du club des développeurs et IT Pro > Dotnet > Langages > C#
C# Forum d'entraide sur la programmation C#. Avant de poster -> FAQ C#, Articles C#, Sources C#
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/01/2013, 12h22   #1
vladvonjim
Candidat au titre de Membre du Club
 
Homme
Inscription : octobre 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : octobre 2011
Messages : 45
Points : 14
Points : 14
Par défaut Modifier un fichier texte.

j'ai un fichier texte de ce type:
Code :
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.
vladvonjim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 14h59   #2
vladvonjim
Candidat au titre de Membre du Club
 
Homme
Inscription : octobre 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : octobre 2011
Messages : 45
Points : 14
Points : 14
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 :
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();
            }
        }
    }
}
vladvonjim est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h47.


 
 
 
 
Partenaires

Hébergement Web