У меня проблема с моим StreamWriter. Я использую Visual Studio 2010 и 2015, .NET Framework 4.0. Вот пример моего кода для записи в файл журнала:C# Строка ввода StreamWriter не совпадает с выходной строкой в файле
using (StreamWriter swErr = new StreamWriter(HostingEnvironment.MapPath("~/Logs/") +
DateTime.Now.ToString("yyyyMMdd") + ".log", true, Encoding.Default))
{
if (!string.IsNullOrEmpty(errMsg))
swErr.WriteLine(DateTime.Now.ToString("HH:mm:ss " + errMsg));
if (result != null && result.Count > 0)
foreach (Mandrill.EmailResult x in result)
{
stat = string.Format("{0} | {1} | {2} | {3}",
x.Id, x.Email, x.Status, x.RejectReason ?? "-"
);
Console.WriteLine(stat);
swErr.WriteLine(DateTime.Now.ToString("HH:mm:ss " + stat));
}
if (!string.IsNullOrEmpty(errMsg) || (result != null && result.Count > 0))
swErr.WriteLine("---");
}
По какой-то причине, здесь образец Ожидаемое против фактического выхода этого кода:
Expected OUTPUT:
10:10:02 e7424f10d1ee431fb69d9014265b278a | [email protected] | Sent
----------
ACTUAL OUTPUT
10:10:02 e742431091ee4313b6999014265b278a | [email protected] | SenA
----------
По некоторым причинам я не знаю он преобразует некоторый символ в случайное число или букву (буквы). Я попытался удалить параметр StreamWriter for Encoding, также пробовал пройти и Encoding.UTF8
, но он все тот же.
Я думаю, что мой синтаксис в порядке и правильно обработал StreamWriter.
Я надеюсь, что кто-нибудь может мне помочь в этом.
Спасибо!
У вас есть специальные символы ввода? – A3006
Еще одна вещь, если вы попытаетесь использовать File.WriteAllText(), каков результат? – A3006
У меня нет специальных символов. Кроме того, файл, загруженный по пути в streamWriter, либо не существует, либо существует. Я попробую использовать то, что вы предлагаете, и посмотреть, что произойдет. –