Asp.net - comment créer et enregistrer un fichier texte sous différents formats d'encodage

0/5 (8 avis)

Snippet vu 53 391 fois - Téléchargée 37 fois

Contenu du snippet

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 / Exemple :


' -----------------------------------------------------
 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___)

A voir également

Ajouter un commentaire Commentaires
le_mariole Messages postés 5 Date d'inscription mardi 21 février 2006 Statut Membre Dernière intervention 11 juin 2009
11 juin 2009 à 18:29
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 ;-)
le_mariole Messages postés 5 Date d'inscription mardi 21 février 2006 Statut Membre Dernière intervention 11 juin 2009
11 juin 2009 à 18:11
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!
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
30 mai 2008 à 19:12
Bonjour,
Ce code est en VB.NET, donc à ce titre fonctionne avec tous les éditeurs pour ce langage.
Cordialement
Romelard Fabrice
grara Messages postés 1 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 30 mai 2008
30 mai 2008 à 16:24
bien, est ce que ce code marche avec visual web developer?
merci
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
15 nov. 2006 à 16:13
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
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.