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 : 37 486

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (8)
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

signaler à un administrateur
Commentaire de le_mariole le 11/06/2009 18:11:56

Bonjour,
En remplaçant les variables par celles que je désire, j'obtiens le message d'erreur suivant:"C:\ n'est pas un chemin d'accès virtuel valide".
Est-ce un problème de droit d'accès au dossier?
Ps: j'utilise Visual Studio 2008 sous Vista x64.
Merci d'avance pour vos réponses!

signaler à un administrateur
Commentaire de le_mariole le 11/06/2009 18:29:56

Pour ceux qui ont eu le même problème,
En mettant
NomRepertoire="./"
le fichier se créé dans:
\Visual Studio 2008\WebSites\Nom_projet.
Voila ;-)

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,468 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é.