c#StreamWriter输入字符串与文件输出字符串不同
c# StreamWriter input string is not the same on the output string on the file
我的 StreamWriter 有问题。我正在使用 Visual Studion 2010 和 2015,.NET Framework 4.0。这是我编写日志文件的代码示例:
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 | tito.genovajr@paramount.com.ph | Sent
----------
ACTUAL OUTPUT
10:10:02 e742431091ee4313b6999014265b278a | AiAo.A.D.enovajr@para10ounA.co10.p10 | SenA
----------
出于某种原因,我不知道它将某些字符转换为随机数字或字母。我尝试删除 StreamWriter 的参数进行编码,也尝试传递 Encoding.ASCII
和 Encoding.UTF8
但它仍然是相同的。
我认为我的语法没问题,并且正确处理了 StreamWriter 的处理。
我希望任何人都可以帮助我。
谢谢!
对于会遇到这个问题的人。我真的很抱歉我的愚蠢,但这是一个语法错误。错误消息包含在日期的字符串格式中。
DateTime.Now.ToString("HH:mm:ss" + errMsg);
这必须是:
DateTime.Now.ToString("HH:mm:ss") + errMsg;
希望其他人不会遇到这种情况。
我的 StreamWriter 有问题。我正在使用 Visual Studion 2010 和 2015,.NET Framework 4.0。这是我编写日志文件的代码示例:
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 | tito.genovajr@paramount.com.ph | Sent
----------
ACTUAL OUTPUT
10:10:02 e742431091ee4313b6999014265b278a | AiAo.A.D.enovajr@para10ounA.co10.p10 | SenA
----------
出于某种原因,我不知道它将某些字符转换为随机数字或字母。我尝试删除 StreamWriter 的参数进行编码,也尝试传递 Encoding.ASCII
和 Encoding.UTF8
但它仍然是相同的。
我认为我的语法没问题,并且正确处理了 StreamWriter 的处理。
我希望任何人都可以帮助我。
谢谢!
对于会遇到这个问题的人。我真的很抱歉我的愚蠢,但这是一个语法错误。错误消息包含在日期的字符串格式中。
DateTime.Now.ToString("HH:mm:ss" + errMsg);
这必须是:
DateTime.Now.ToString("HH:mm:ss") + errMsg;
希望其他人不会遇到这种情况。