none
Escribir en archivos txt desde asp.net con c#

    Question


  • Buenas, estoy desarrollando una aplicación en Asp.net en c#  y quiero hacer un archivo txt, y son muchas líneas las que tengo que escribir en el archivo txt.

    He probado con File.WriteAllText("C:\\Users/nsegura/Desktop/Archivo.txt", this.TextBox1.Text), pero solo puedo ingresar una línea y si quiero ingresar otra sobrescribe la anterior

    Para crear archivos txt desde Asp.net la mayoría de los foros dan la solución de utilizar el siguiente código:

     using (System.IO.StreamWriter writer = new System.IO.StreamWriter(@"C:\\Users/nsegura/Desktop/Archivo.txt", true, Encoding.Unicode )) ;   writer.WriteLine(this.TextBox1.Text);

    Pero al usarlo no reconoce el Encoding.Unicode, mi pregunta es si se necesita algún using para utilizarlo.

    Gracias por si ayuda.

    Friday, October 19, 2012 3:43 PM

Answers

  • Gracias por su ayuda lo he resulto con el siguiente codigo:

    string nombreArchivo = "C:\\Users/nsegura/Desktop/Archivo.txt";

           using (FileStream flujoArchivo = new FileStream(nombreArchivo, FileMode.Create, FileAccess.Write, FileShare.None))

           {

               using (StreamWriter escritor = new StreamWriter(flujoArchivo))

               {

                   DataSet dt = new DataSet();

                   dt = cls_pedido.imprimir();

     

                   foreach (DataRow row in dt.Tables[0].Rows) 

                  {  

                                           escritor.WriteLine(row["contenido"].ToString());             

                   }

                 

               }

           }

    • Marked as answer by Narethza Monday, October 22, 2012 5:17 PM
    Monday, October 22, 2012 5:17 PM

All replies

  • Hola,

    La verdad el StreamWriter es del namespace System.IO, y cómo lo estas declarando así: System.IO.StreamWriter writer, no tienes necesidad de hacer la referencia.

    Revisa esta dirección:

    C# StreamWriter

    Ahí explican varias formas de escribir en un txt correctamente.


    Un saludo, Cristian Pérez

    Friday, October 19, 2012 4:49 PM
  • He probado con File.WriteAllText("C:\\Users/nsegura/Desktop/Archivo.txt", this.TextBox1.Text), pero solo puedo ingresar una línea y si quiero ingresar otra sobrescribe la anterior

    porque no usas

    File.WriteAllLines()

    si quieres generar varias lineas, se supone que debes armar el array de lineas y luego asignar todo en una unica operacion, no es que insertas linea a linea, sino todo junto al final

    Pero al usarlo no reconoce el Encoding.Unicode, mi pregunta es si se necesita algún using para utilizarlo.

    has agregado el

    using System.Text;

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Friday, October 19, 2012 5:20 PM
  • Gracias por su ayuda lo he resulto con el siguiente codigo:

    string nombreArchivo = "C:\\Users/nsegura/Desktop/Archivo.txt";

           using (FileStream flujoArchivo = new FileStream(nombreArchivo, FileMode.Create, FileAccess.Write, FileShare.None))

           {

               using (StreamWriter escritor = new StreamWriter(flujoArchivo))

               {

                   DataSet dt = new DataSet();

                   dt = cls_pedido.imprimir();

     

                   foreach (DataRow row in dt.Tables[0].Rows) 

                  {  

                                           escritor.WriteLine(row["contenido"].ToString());             

                   }

                 

               }

           }

    • Marked as answer by Narethza Monday, October 22, 2012 5:17 PM
    Monday, October 22, 2012 5:17 PM