begin process at 2010 02 10 03:47:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Fichier / Disque

 > 

Modifier un fichier (lecture/écriture)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Modifier un fichier (lecture/écriture)

samedi 29 avril 2006 à 20:46:22 | Modifier un fichier (lecture/écriture)

haklia

Bonjour à tous. Bon, j'ai cherché un peu partout sur le forum, mais je n'ai pas trouvé mon bonheur. Voilà mon souci : j'aimerais savoir si on c#, on peut utiliser les méthodes : fopen, fseek, fgetc, fputs et fclose. Et aussi l'objet FILE. Si oui, comment faire ? (genre ajout stdio.h, mais comment) Sinon, voilà ce dont j'ai besoin : ouvrir un fichier texte en lecture ET écriture à la fois. Puis je le lis caractère par caractère. Lorsque que je tombe sur une certaine chaîne, je reviens de 1 caractère en arrière (j'explique plus bas pourquoi) pour insérer une autre chaîne. Le pourquoi de tout ça ? Donc : je veux rajouter à la suite d'une chaîne ABC, la chaîne DEF, mais seulement si ce n'est pas déjà la chaîne ABCDEF. Voilà le pourquoi de mon retour arrière, car je teste si la chaîne n'est pas déjà entière. Et j'aimerais évité de passer par un second fichier (si c'est possible bien sûr). J'espère avoir été clair. Je vous remercie, ++ PS : c'est mon tout premier prog en c#. J'aurais pu le faire en Delphi, mais j'ai eu envie de me mettre au c#.
samedi 29 avril 2006 à 20:48:05 | Re : Modifier un fichier (lecture/écriture)

haklia

Hum, j'espère que ça s'affichera mieux hez vous, car chez moi, tous les paragraphes se sont condensés (je parle de la mise en forme de ma question).
samedi 29 avril 2006 à 21:17:04 | Re : Modifier un fichier (lecture/écriture)

Bidou

Administrateur CodeS-SourceS
Réponse acceptée !

Salut!
Ben non, ta question ne s'affiche pas mieux ailleurs 

Pour ce qui est de la manipulation des fichiers en C#, tu trouveras tout ce que tu as besoin dans le namespace System.IO. Des fonctions équivalentes aux " fopen, fseek, fgetc, fputs et fclose." existe bien entendu...
Pour l'utilisation de ces classes, tu trouveras pleins d'exemples sur le site.



[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
samedi 29 avril 2006 à 21:19:23 | Re : Modifier un fichier (lecture/écriture)

coq

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

Si tu utilises Opera, passe plutôt par IE ou FF, sinon les sauts de ligne sont quelque peu mis à mal.



/*
coq
MVP Visual C#
*/
samedi 29 avril 2006 à 23:14:04 | Re : Modifier un fichier (lecture/écriture)

haklia

Merci pour vos réponses.

Effectivement je suis sous Opera (à part pour ce post ci).

Je vais regarder les System.IO. J'ai vu qu'il y avait streamwriter et streamreader, mais le peu que j'en ai lu ne m'a pas parû pratique. J'espère trouver les équivalents.

++
dimanche 30 avril 2006 à 00:31:43 | Re : Modifier un fichier (lecture/écriture)

haklia

Voilà, mon prog est fini.

C'est un petit outil perso pour me simplifier la vie ... LOL

Bon j'explique, je code mon php à l'aide de textpad, à l'ancienne. Et je voulais automatiser le remplacement des balise <? par <?php, pour éviter les problèmes de compatibilité. Je sais qu'il existe des environnements de dev php qui le permettent (sûrement), mais je ne suis pas un grand fan des programmes dont 90% des fonctionnalités me sont inutiles.
De plus, cela m'aura permis de me mettre au C#.

Pour en venir à mon appli : je voulais donc remplacer les <? par <?php. J'ai donc copié le contenu de mon fichier dans une chaîne (cela me dérangeait au début, mais bon, ce ne sont pas des fichiers de plusieurs Mo en général, bref) et j'ai utilisé la méthode Replace. Oui mais voilà, si j'avais fait seulement fait s = s.Replace("<?", "<?php"), cela m'aurait aussi changé les <?php en <?phpphp.
J'ai donc feinté le problème en remplaçant <?php par <!?php.

Oui je sais, cela fait bidouille, mais bon, c'est à mon avis le plus simple.

Voilà donc la partie du code sur les fichiers (ça marche, mais si vous voyez des modifs à faire, je suis preneur) :

string s;
string message_fin;

if (listBox1.Items.Count > 0)
{
 for (int i = 0 ; i < listBox1.Items.Count ; i++)
 {
  // Lecture fichier
  StreamReader fr = new StreamReader(listBox1.Items[i].ToString());
  s = fr.ReadToEnd();
  fr.Close();
  s = s.Replace("<?php", "<!?php");
  s = s.Replace("<?", "<?php");
  s = s.Replace("<!?php", "<?php");
  StreamWriter fw = new StreamWriter(listBox1.Items[i].ToString(), false);
  fw.Write(s);
  fw.Close();
 }

 if (listBox1.Items.Count == 1)
 {
  message_fin = "Fichier modifié";
 }
 else
 {
  message_fin = "Fichiers modifiés";
 }
 MessageBox.Show(message_fin);
}

PS : au fait, si je veux passer l'exe à quelqu'un, dois-je lui fournir autre chose (genre le framework, ou des librairies) ?

dimanche 30 avril 2006 à 00:55:59 | Re : Modifier un fichier (lecture/écriture)

coq

Administrateur CodeS-SourceS
Réponse acceptée !
Oui, le Framework .Net doit être installé sur le poste executant l'application.


/*
coq
MVP Visual C#
*/
dimanche 30 avril 2006 à 01:03:01 | Re : Modifier un fichier (lecture/écriture)

haklia

Ok. J'aimais bien le Borland Delphi, car l'exe suffisait.
Mais bon, s'il n'y a que ça à fournir, ça va encore.
dimanche 30 avril 2006 à 10:37:10 | Re : Modifier un fichier (lecture/écriture)

Bidou

Administrateur CodeS-SourceS
Hello,
Voila quelque chose d'un peu meilleur que la fameux replace :

s = System.Text.RegularExpressions.

Regex.Replace(s, @"\B<\?\B", "<?php");




[Pub]
http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
dimanche 30 avril 2006 à 10:39:33 | Re : Modifier un fichier (lecture/écriture)

Bidou

Administrateur CodeS-SourceS
Le tout est bien entendu sur une ligne comme ceci :




s = System.Text.RegularExpressions.

Regex.Replace(s, @"\B<\?\B", "<?php");



[Pub]
http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever

1 2

Cette discussion est classée dans : fichier, lecture, voil, écriture, chaîne


Répondre à ce message

Sujets en rapport avec ce message

Afficher le contenu d'un fichier texte ??? [ par CoChOnOu ] Salut à tousBon voilà, je débute vraiment avec le C# alors ne m'en voulez pas si ma question vous semble ridicule ;-)Voilà, j'ai ajouté un fichier .tx lecture de fichier ... [ par maevacmoi ] Hello !Je voudrais lire, depuis un site web (C#) , un fichier xml (monfichier.xml) qui se trouve sur le disque local. J'ai fait pas mal de tests, mais Ecriture / lecture d'un fichier INI [ par Tsu91 ] Bonjour,Je débute en c# et ma question est simple:Comment écrire et lire dans un fichier Ini ?merci :)Séb Lecture d'un fichier *.csv [ par sabi44 ] Bonjour,Je souhaiterais lire un fichier *.csv (avec séparateur ';') pour enregistrer les données dans une base oracle et je ne sais pas kel solution u Problème de lecture sur un fichier [ par doubleK ] Bonjour,j'ai un soucis lors de la génération d'un fichier Crystal Report, j'ai le message suivant qui apparaît: "Accès refusé au fichier de l'état. Il lecture d'un fichier et caractère spéciaux [ par Thanos_the_yopper ] j'essaye de lire un fichier .inf ou dedans, y'a des caractères spéciaux, genre des accents. Et quand je lis le contenu du fichier, il me bouffe mes ac Lecture d'un fichier avec accent non reconnu [ par Cameleon69 ] Bonjourje lis un fichier avec la méthode suivante :string helpFile = Application.StartupPath + @"\aide.hlp";StreamReader sr = File.OpenText(helpFile); Lecture fichier plat, Accent [ par Diamondduff ] Je lis ligne à ligne un fichier plat....Les accents n'apparaissent pas, je suis blaséIl y a un jeu de caractère à passer? ou quelque chose à faire? Lecture fichier binaire et conversion hexa --> string [ par kineton ] Bonjour à tous, Je suis développeur en vc++ 6.0 et je commence juste à programmer en C# avec VS.Net.Je cherche à lire un fichier binaire qui contient lecture d'un fichier xml [ par 24 ans ] salut à tout le monde et je vous souhaite un bonne journee .j'ai un petit probleme qui est le suivant :lecture d'un fichier xml à partir d'un serveur


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales