2008-12-17 11 views

Répondre

63
using System.IO; 
using System.Text; 

using (StreamWriter sw = new StreamWriter(File.Open(myfilename, FileMode.Create), Encoding.WhateverYouWant)) 
{  
    sw.WriteLine("my text...");  
} 

Une autre façon d'obtenir votre encodage:

using System.IO; 
using System.Text; 

using (var sw = new StreamWriter(File.Open(@"c:\myfile.txt", FileMode.CreateNew), Encoding.GetEncoding("iso-8859-1"))) { 
    sw.WriteLine("my text...");    
} 

Vérifiez les documents pour le constructeur StreamWriter.

+0

Bon point que vous pourriez le faire aussi dans le constructeur. –

+1

Est-ce que "tout ce que je veux" peut être un numéro de page de code ou ...? l'autocomplete sur la fonction dans MS Visual C# ne me donne pas une option "iso-8859-1" ... juste l'UTF8, UTF16, etc ... – adeena

+0

Encoding.GetEncoding ("iso-8859-1") – frenchone

20

Simple!

System.IO.File.WriteAllText(path, text, Encoding.GetEncoding(28591)); 
2

Enveloppez votre StreamWriter avec FileStream, de cette façon:

string fileName = "test.txt"; 
string textToAdd = "Example text in file"; 
Encoding encoding = Encoding.GetEncoding("ISO-8859-1"); //Or any other Encoding 

using (FileStream fs = new FileStream(fileName, FileMode.CreateNew)) 
{ 
    using (StreamWriter writer = new StreamWriter(fs, encoding)) 
    { 
     writer.Write(textToAdd); 
    } 
} 

Look at MSDN