none
Hacer salto de línea sin línea de por medio RRS feed

  • Pregunta

  • Hola buenas tardes tengo un pequeño problema al escribir un archivo. 

        string file = Path.Combine(filePath, fileName);
                FileStream stream = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Write);
                StreamWriter writer = new StreamWriter(stream);
                for (int i = 0; i < 6; i++)
                {
                   writer.WriteLine("Hola " + i + System.Environment.NewLine);
                }
                writer.Close();
                result = true;
                return result;

    El archivo tiene el siguiente texto:

    Hola 0

    Hola 1

    Hola 2

    Pero yo necesito que sea sin líneas de por medio, es decir, necesito que el resultado sea así:

    Hola 0
    Hola 1
    Hola 2

    Será que alguien me puede ayudar con esto por favor?

    viernes, 22 de junio de 2012 17:58

Respuestas

  • porque no usas

    for (int i = 0; i < 6; i++)
    {
          writer.WriteLine("Hola " + i);
    }

    o sea quita el Environment.NewLine


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta suhi_22 viernes, 22 de junio de 2012 19:49
    viernes, 22 de junio de 2012 18:15
  • Prodias usar un StringBuilter para completar este pedido

    Especificamente el metodo AppendLine() dibuja una linea despues que imprime lo que le pasas

    te quedaria asi:

    string file = Path.Combine(filePath, fileName);
                FileStream stream = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Write);
                StreamWriter writer = new StreamWriter(stream);

                System.Text.StringBuilder sb = new System.Text.StringBuilder();

                for (int i = 0; i < 6; i++)
                {

                       sb.AppendLine("Hola " + i); 

                     //writer.WriteLine("Hola " + i + System.Environment.NewLine);
                }

                writer.WriteLine(sb.ToString());

                writer.Close();
                result = true;
                return result;

    Saludos


    Luis Y. Ramirez "Recuerda marcar la repuesta como VALIDA si te ha ayudado"

    • Marcado como respuesta suhi_22 viernes, 22 de junio de 2012 19:49
    viernes, 22 de junio de 2012 18:16

Todas las respuestas

  • porque no usas

    for (int i = 0; i < 6; i++)
    {
          writer.WriteLine("Hola " + i);
    }

    o sea quita el Environment.NewLine


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta suhi_22 viernes, 22 de junio de 2012 19:49
    viernes, 22 de junio de 2012 18:15
  • Prodias usar un StringBuilter para completar este pedido

    Especificamente el metodo AppendLine() dibuja una linea despues que imprime lo que le pasas

    te quedaria asi:

    string file = Path.Combine(filePath, fileName);
                FileStream stream = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Write);
                StreamWriter writer = new StreamWriter(stream);

                System.Text.StringBuilder sb = new System.Text.StringBuilder();

                for (int i = 0; i < 6; i++)
                {

                       sb.AppendLine("Hola " + i); 

                     //writer.WriteLine("Hola " + i + System.Environment.NewLine);
                }

                writer.WriteLine(sb.ToString());

                writer.Close();
                result = true;
                return result;

    Saludos


    Luis Y. Ramirez "Recuerda marcar la repuesta como VALIDA si te ha ayudado"

    • Marcado como respuesta suhi_22 viernes, 22 de junio de 2012 19:49
    viernes, 22 de junio de 2012 18:16
  • Hola Leandro! Gracias! Sí, eso hice :)
    viernes, 22 de junio de 2012 19:49
  • No se si esto te sea de mucha utilidad pero podrias probar.

    Si haces aplicas esto en Console.WriteLine te hara salto de linea:

    \r\n , y si lo haces de la siguiente manera hace un salto completo (lo que tu no quieres que te suceda): \r\n\n\r

    Pero como te dije primero, nunca lo use de la misma manera que vos, pero supongo que como es WriteLine funcionara. =).

    Es uno de mis pequeños conocimientos =).

    Saludos, Gonza.

    PD: Debes usarlo dentro de las comillas, ej: "Hola estoy probando el salto de linea \r\nEsta es la segunda linea..\r\n\n\rAhora hacemos un salto mas grande =)"

    Es decir si sabes html, \r\n funciona como <br> y \r\n\n\r funciona como <p>.

    • Editado GonzaFY sábado, 23 de junio de 2012 2:43
    sábado, 23 de junio de 2012 0:39