Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ASP.NET - COMMENT CRÉER ET ENREGISTRER UN FICHIER TEXTE SOUS DIFFÉRENTS FORMATS D'ENCODAGE


Information sur la source

Catégorie :Chaînes de caratères Source .NET ( DotNet ) Niveau : Initié Date de création : 02/01/2003 Date de mise à jour : 15/11/2006 16:06:30 Vu : 35 308

Note :
7 / 10 - par 2 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note


Description

Le format standard de .NET pour les fichiers "texte" est le code UTF-8, or celui-ci n'est pas forcément géré par tous les systèmes imbriqués dans un système d'information.
Ainsi, lors d'une exportation de données en fichier Texte pour transfert à un Unix par exemple, l'ASCII est le plus adéquat, car supporté universellement.

Cette petite fonction vous permettra donc de créer un fichier avec un nom type transmis, ainsi que le répertoire dans lequel celui-ci sera stocké et de charger dans celui-ci une chaine de type string transmise.    
 

Source

  • ' -----------------------------------------------------
  • Private Sub ChargeFichier(ByVal Lachaine As String, ByVal NomFichier As String, ByVal NomRepertoire as string)
  • ' Ouvre le fichier en écriture et enregistre la chaine dedans
  • Dim LeCheminFichier As String
  • Dim Lefichier As System.IO.FileStream
  • Dim MonWriter As System.IO.StreamWriter
  • ' Récupère le chemin en dur du répertoire dans lequel sera le fichier
  • LeCheminFichier = Server.MapPath(NomRepertoire) & NomFichier
  • ' Créer le fichier et ajoute un pointeur dessus
  • Lefichier = New System.IO.FileStream(LeCheminFichier, IO.FileMode.Create)
  • ' Crée un StreamWriter qui chargera le fichier
  • MonWriter = New System.IO.StreamWriter(Lefichier, System.Text.Encoding.ASCII)
  • ' ICI ON PEUT SPECIFIER LE TYPE D'ENCODAGE DE CE FICHIER (ASCII, UTF8, Unicode, UTF7)
  • ' On envoie la string dans le StreamWriter
  • MonWriter.Write(Lachaine)
  • ' On ferme le Flux
  • ' Sous .NET la fermeture du flux d'écriture (ou de lecture) entraine automatiquement celle du fichier.
  • MonWriter.Close()
  • End Sub
  ' -----------------------------------------------------
 Private Sub ChargeFichier(ByVal Lachaine As String, ByVal NomFichier As String, ByVal NomRepertoire as string) 
   ' Ouvre le fichier en écriture et enregistre la chaine dedans
   Dim LeCheminFichier As String
   Dim Lefichier As System.IO.FileStream
   Dim MonWriter As System.IO.StreamWriter

   ' Récupère le chemin en dur du répertoire dans lequel sera le fichier
   LeCheminFichier = Server.MapPath(NomRepertoire) & NomFichier

   ' Créer le fichier et ajoute un pointeur dessus
   Lefichier = New System.IO.FileStream(LeCheminFichier, IO.FileMode.Create)

   ' Crée un StreamWriter qui chargera le fichier
   MonWriter = New System.IO.StreamWriter(Lefichier, System.Text.Encoding.ASCII)
 ' ICI ON PEUT SPECIFIER LE TYPE D'ENCODAGE DE CE FICHIER (ASCII, UTF8, Unicode, UTF7)

   ' On envoie la string dans le StreamWriter 
   MonWriter.Write(Lachaine)

   ' On ferme le Flux
   ' Sous .NET la fermeture du flux d'écriture (ou de lecture) entraine automatiquement celle du fichier.
   MonWriter.Close()

End Sub     

Conclusion

J'espère que ce code vous servira.

Bon coding.

Romelard Fabrice (Alias F___)  
 

Historique

15 novembre 2006 16:06:30 :
Modification du code

Commentaires et avis

signaler à un administrateur
Commentaire de rebstyle le 09/06/2005 15:12:02

Yep, merci pour ton source.
Cependant j'ai un petit souci : lorsque je cré mon fichier celui-ci ne comporte pas uniquement ma chaine, mais egalement la balise <br> au début de chaque ligne.
Ceci m'empeche d'ouvrir mon fichier...
Solutions??
Merci d'avance

signaler à un administrateur
Commentaire de cbu le 15/11/2006 15:34:29

Bon j'ai lu que en diagonal, mais ne devrait pas plutot faire cela :
LeCheminFichier = Server.MapPath(NomRepertoire) & NomFichier ?

Tschuss

signaler à un administrateur
Commentaire de fabrice69 le 15/11/2006 16:07:12 administrateur CS

Exact, je viens de corriger la source.
Merci de la remarque

Romelard Fabrice

signaler à un administrateur
Commentaire de cbu le 15/11/2006 16:13:40

Commentaire de : cbu le 15/11/2006 15:34:29

15/11/2006 16:06:30 Modification du code

Ehh ben si ca c'est pas de la réactivité .. :)
Well done

signaler à un administrateur
Commentaire de grara le 30/05/2008 16:24:28

bien, est ce que ce code marche avec visual web developer?
merci

signaler à un administrateur
Commentaire de fabrice69 le 30/05/2008 19:12:04 administrateur CS

Bonjour,
Ce code est en VB.NET, donc à ce titre fonctionne avec tous les éditeurs pour ce langage.
Cordialement
Romelard Fabrice

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.