c# .net file-io windows-ce stringbuilder

c# - ¿Cuál es la forma más sencilla de escribir los contenidos de un StringBuilder en un archivo de texto en.NET 1.1?



file-io windows-ce (4)

No es necesario un StringBuilder :

string path = @"c:/hereIAm.txt"; if (!File.Exists(path)) { // Create a file to write to. using (StreamWriter sw = File.CreateText(path)) { sw.WriteLine("Here"); sw.WriteLine("I"); sw.WriteLine("am."); } }

Pero, por supuesto, puede usar StringBuilder para crear todas las líneas y escribirlas en el archivo a la vez.

sw.Write(stringBuilder.ToString());

Método StreamWriter.Write (String) (.NET Framework 1.1)

Escribir texto en un archivo (.NET Framework 1.1)

Tengo que usar StringBuilder en lugar de una lista de cadenas porque me he quedado atrapado con .NET 1.1 para este proyecto. Realmente me está haciendo mella en mi estilo, y me hace sentir como si llevara harapos viejos de piel de leopardo y arrastrara un garrote a través de la tierra.

De todos modos, quiero escribir una serie de mensajes de depuración que he escrito en un archivo para estudiar en mi tiempo libre, ya que hay demasiado que ver en la pantalla (el MessageBox no tiene barras de desplazamiento). Algunas de las formas fáciles de escribir un archivo no parecen estar disponibles en .NET 1.1. Tampoco tengo acceso a Environment.Newline para separar limpiamente las líneas que anexo (AppendLine tampoco está disponible en esta versión arcaica de StringBuilder).

Suficiente lloriqueo, supongo ... ¿Cuál es la forma más fácil en .NET 1.1 (C #) para escribir los contenidos de StringBuilder en un archivo? No hay una unidad "C" en el dispositivo portátil, por lo que creo que tendré que escribirla en "/ hereIAm.txt" más o menos.


Para una versión más reciente de .NET Framework, hay una manera aún más simple de escribir los contenidos de un StringBuilder en un archivo de texto. Se puede hacer con una línea de código. Puede que no sea el más eficiente, pero esa no era la verdadera pregunta ahora.

System.IO.File.WriteAllText(@"C:/MyDir/MyNewTextFile.txt",sbMyStringBuilder.ToString());


StreamWriter está disponible para NET 1.1. y para el marco compacto . Simplemente abra el archivo y aplique ToString a su StringBuilder:

StringBuilder sb = new StringBuilder(); sb.Append(......); StreamWriter sw = new StreamWriter("//hereIAm.txt", true); sw.Write(sb.ToString()); sw.Close();

Además, tenga en cuenta que dice que desea anexar mensajes de depuración al archivo (como un registro). En este caso, el constructor correcto para StreamWriter es el que acepta un indicador booleano de adición. Si es verdadero, intenta agregar a un archivo existente o crear uno nuevo si no existe.


Aún tienes acceso a StreamWriter :

System.IO.StreamWriter file = new System.IO.StreamWriter(@"/hereIam.txt"); file.WriteLine(sb.ToString()); // "sb" is the StringBuilder

De la documentación de MSDN: escritura en un archivo de texto (Visual C #) .