Каков самый простой способ записать содержимое StringBuilder в текстовый файл in.NET 1.1?

Я должен использовать StringBuilder вместо списка строк из-за того, что застрял с .NET 1.1 для этого проекта. Это действительно стесняет мой стиль, и заставляет меня чувствовать, что я ношу рваные старые леопардовые шкуры и волочу комковатую дубинку по грязи.

в любом случае, я хочу написать серию отладочных msgs, которые я написал в файл для изучения на досуге, так как слишком много можно увидеть на экране (в MessageBox нет полос прокрутки). Некоторые из простых способов записи файла кажется, не доступен в .NET 1.1. У меня также нет доступа к окружающей среде.Новая строка для четкого разделения строк, которые я добавляю (AppendLine также недоступен в этой архаичной версии StringBuilder).

хватит ныть, я думаю...Каков самый простой способ в .NET 1.1 (C#) записать содержимое StringBuilder в файл? На портативном устройстве нет диска "C", поэтому я считаю, что мне придется написать его " hereIAm.txt " или около того.

4 ответов


у вас все еще есть доступ к StreamWriter:

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

из документации MSDN: запись в текстовый файл (Visual C#).


для более поздней версии .NET framework существует еще более простой способ записи содержимого StringBuilder в текстовый файл. Это можно сделать с помощью одной строки кода. Может, это и не самый эффективный способ, но сейчас вопрос не в этом.

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

не нужен 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.");
    }    
} 

но, конечно, вы можете использовать StringBuilder чтобы создать все строки и записать их в файл сразу.

sw.Write(stringBuilder.ToString());

StreamWriter.Write Метод (Строка) (.NET Framework 1.1)

запись текста в файл (.NET Framework 1.1)


модулю записи StreamWriter доступно для NET 1.1. и для компактный рамках. Просто откройте файл и примените ToString к вашему StringBuilder:

    StringBuilder sb = new StringBuilder();
    sb.Append(......);

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

также обратите внимание, что вы говорите, что хотите добавить отладочные сообщения в файл (например, журнал). В этом случае правильным конструктором для StreamWriter является тот, который принимает append булев флаг. Если true, то он пытается добавить к существующему файлу или создать новый, если это не так существует.