2008-12-17 26 views

Respuesta

63
using System.IO; 
using System.Text; 

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

Una forma alternativa de conseguir su codificación:

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...");    
} 

Mira la documentación para el constructor StreamWriter.

+0

Es bueno señalar que también podrías hacerlo en el constructor. –

+1

¿Puede "lo que quiera" ser un número de página de códigos o ...? la función Autocompletar en la función en MS Visual C# no me da una opción "iso-8859-1" ... solo UTF8, UTF16, etc ... – adeena

+0

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

20

¡Simple!

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

envolver su StreamWriter con FileStream, de esta manera:

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

Cuestiones relacionadas