2013-01-12 3 views
-2

나는 for 루프 (타이머에 의해 속도가 느려짐)를 가지고 있으며 매 초마다 루프는 텍스트 파일에 날짜를 저장한다. 하지만 프로세스가 끝나기 전에 프로그램을 닫으면 텍스트 파일이 남아 있습니다.루프마다 매번 데이터를 텍스트 파일에 저장할 수 있습니까?

내가 수업에 참석할 때, 프로그램을 끝내기 위해 기다리는 데 낭비 할 충분한 시간이 없을 것이며, 동시에 스레드를 일시 중단해야하므로 더 작은 크기를 사용할 수 없습니다. 반복을 중지하고 일시 중지하고 다시 시작할 시간이 충분하지 않을 수 있습니다.

마다 루프마다 파일을 저장하는 방법이 있습니까? 그래서 언제든지 (양식 기반 응용 프로그램을 종료) 나는 거기에 어떤 데이터가 있을까요?

+0

"예 방법이 있습니다"보다 더 나은 대답을 원한다면 문제가있는 코드를 입력하고 문제가 무엇인지 더 잘 설명하십시오. – PhoenixReborn

+0

일부 소스 코드를 보여주십시오 ... 당신은 무엇을 시도 했습니까? – Yahia

+0

이 winforms, wpf 또는? –

답변

1

StreamWriter.AutoFlush 속성을 true으로 설정하십시오. 그러면 Writer가 StreamWriter.Write를 호출 할 때마다 버퍼를 기본 파일 스트림으로 플러시합니다.

using(var writer = File.AppendText("fileName")) 
{ 
    writer.AutoFlush = true; 
    foreach(string line in lines) 
     writer.WriteLine(line); 
} 
+1

고맙습니다. MAN, 완벽하게 일했습니다. –

0

데이터를 항상 저장하는 또 다른 루프 (시간이 적은 타이머 포함)가있을 수 있습니다.

0

텍스트 파일에 저장으로 이것을 사용해보십시오 :

그것은 오래된 텍스트를 읽고 된 텍스트에 새 텍스트를 저장합니다 ...

StreamReader sr = new StreamReader(path); 
StreamWriter sw = new StreamWriter(path); 
string old = sr.ReadToEnd(); 
sr.Close(); 
sw.WriteLine(old); 
sw.WriteLine(date); 
sw.Close(); 

또는 당신은 StreamWriter를 만들 수 있습니다 공개 및 양식 마감 행사를 통해 폐회 시간을 절약 할 수 있습니다. public StreamWriter sr = new StreamWriter("C:\\...")

관련 문제