에 StreamWriting 후 즉시 파일을 StreamReading :이 예제 코드를 감안할 때이 같은 파일
1: using (StreamWriter sw = new StreamWriter(@"C:\file.txt"))
2: {
3: sw.WriteLine(great_string);
4: }
5:
6: using (StreamReader sr = new StreamReader(@"C:\file.txt"))
7: {
8: sr.ReadToEnd();
9: }
는 StreamReader.ReadToEnd
이 라인 (8)에 호출 될 때 3 행에 기록 된 great_string
이 C:\file.txt
에 존재하지 않을 것이라고 할 수 있습니까? 평균적인 CPU가 평균 HDD보다 훨씬 빠르게 작동하기 때문에 가능할 것 같습니다. 그러나 지금까지 테스트 해봤습니다. 그리고 지금까지 3 행에 기록 된 문자열은 온라인 파일을 읽을 때 항상 나타납니다. 8. using
문이 모든 데이터가 파일에 쓰여지거나 파일에서 읽혀질 때까지 스트림을 닫지 않을 것이라고 생각하고 있으므로 내가 묻는 상황을 막을 수 있습니다.
내가 MSDN에 StreamWriter.Close 방법에 대해 읽어 봤는데, 그것은 다음과 같은 상태 :
당신은 모든 데이터가 올바르게 기본이되는 스트림에 기록되어 있는지 확인하려면 닫기를 호출해야합니다.
그러나 WHEN을 사용하면 데이터가 기본 스트림에 기록됩니다.
이 주제에 대한 정보를 미리 감사드립니다. 나는이 질문에 대한 해답을 찾았지만 아무 것도 찾지 못했다 ... 나는 무엇을 찾아야하는지 정말로 모른다.
"이것이 사실이 아니라면, 효과의 순서가 기능과 프로세스 사이에서 임의로 변경 될 수 있기 때문에 신뢰할 수있는 프로그램을 작성하기가 어려울 것입니다. 따라서 시스템은 일관성을 보장합니다." --- 나는 내 마음의 뒤쪽에서 비슷한 것을 생각하고 있었지만 그것을 어떻게 표현해야할지 몰랐다. 고마워, 이것은 매우 도움이된다. –