Ответ 1
У вас есть доступ к StreamWriter
:
System.IO.StreamWriter file = new System.IO.StreamWriter(@"\hereIam.txt");
file.WriteLine(sb.ToString()); // "sb" is the StringBuilder
Из документации MSDN: Запись в текстовый файл (Visual С#).
Мне нужно использовать StringBuilder вместо List of string из-за того, что вы застряли с .NET 1.1 для этого проекта. Это действительно мешает моему стилю и заставляет меня почувствовать, что я нахожусь в изнасилованных старых леопардовых шкурах и вытаскиваю кусковой клуб через грязь.
В любом случае, я хочу написать серию отладочных сообщений, которые я написал в файл, чтобы учиться на досуге, поскольку на экране слишком много, чтобы видеть на экране (у MessageBox нет полос прокрутки). Некоторые из простых способов записи файла, похоже, не доступны в .NET 1.1. У меня также нет доступа к Environment.Newline, чтобы чисто отделить строки, которые я добавляю (AppendLine не доступен в этой архаичной версии StringBuilder, либо).
Достаточно ныть, я думаю... Самый простой способ в .NET 1.1 (С#) записать содержимое StringBuilder в файл? На переносном устройстве нет диска "C", поэтому я считаю, что мне придется записать его в "\ hereIAm.txt" или так.
У вас есть доступ к StreamWriter
:
System.IO.StreamWriter file = new System.IO.StreamWriter(@"\hereIam.txt");
file.WriteLine(sb.ToString()); // "sb" is the StringBuilder
Из документации MSDN: Запись в текстовый файл (Visual С#).
Для более новой версии .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
Метод (String) (.NET Framework 1.1)
StreamWriter доступен для NET 1.1. и для Compact framework. Просто откройте файл и примените ToString к вашему StringBuilder:
StringBuilder sb = new StringBuilder();
sb.Append(......);
StreamWriter sw = new StreamWriter("\\hereIAm.txt", true);
sw.Write(sb.ToString());
sw.Close();
Также обратите внимание, что вы говорите, что хотите добавить отладочные сообщения в файл (например, журнал). В этом случае правильным конструктором для StreamWriter является тот, который принимает флаг append
boolean. Если true, то он пытается добавить к существующему файлу или создать новый, если он не существует.