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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 52 580 fois - Téléchargée 35 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
-
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
-
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
1766
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
4 -
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
-
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 -
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

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.