Каков самый простой способ записать содержимое 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)
модулю записи 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, то он пытается добавить к существующему файлу или создать новый, если это не так существует.