StreamWriter에 문제가 있습니다. Visual Studion 2010 및 2015, .NET Framework 4.0을 사용하고 있습니다. 다음은 로그 파일을 작성하는 내 코드의 샘플입니다 : 내가 모르는 어떤 이유C# StreamWriter 입력 문자열이 파일의 출력 문자열과 동일하지 않습니다.
Expected OUTPUT:
10:10:02 e7424f10d1ee431fb69d9014265b278a | [email protected] | Sent
----------
ACTUAL OUTPUT
10:10:02 e742431091ee4313b6999014265b278a | [email protected] | SenA
----------
: 어떤 이유
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("---");
}
가 여기에이 코드의 실제 출력 대 예상 샘플입니다 어떤 문자를 임의의 숫자 또는 문자로 변환합니다. StreamWriter for Encoding의 매개 변수를 제거하려고 시도했지만 및 Encoding.UTF8
을 전달하려고 시도했지만 여전히 동일합니다.
제 생각에는 구문이 좋으며 StreamWriter의 처리가 제대로 처리 된 것 같습니다.
나는 이것에 관해 누구든지 나를 도울 수 있기를 바랍니다.
감사합니다.
입력에 특수 문자가 있습니까? – A3006
File.WriteAllText()를 사용하려고하면 또 하나, 출력은 무엇입니까? – A3006
특수 문자가 없습니다. 또한 streamWriter의 경로에로드 된 파일이 존재하지 않거나 존재하지 않습니다. 나는 당신이 제안한 것을 사용하고 어떤 일이 일어나는지 보려고 노력할 것입니다. –