2012-01-30 4 views
2

루프가 있고 그 내부에 프로세스가있는 경우 루프 종료 파일을 닫은 후 파일로 출력합니다. 프로그램은 잠시 동안 실행되었지만, 출력 파일을 열 때 루프 이후에 가까운 파일 이후에 출력이 없었습니다. 출력을 볼 수있는 방법이 있습니까? 아니면 프로그램을 중단하고 출력 파일로 처리 한 내용을 쓸 수 있습니까?루프 내부의 Java 프로세스 및 파일 출력

for (int i =0 ; i < 1000 ; i +++) 
{ 

// do some calculations 

fileoutput.write(...); 
} 
fileoutput.close(); 
+0

'.write()'다음에 출력 스트림을 비 웁니다. – UmNyobe

+0

나는 약간의 혼란스러워하는 질문을 명확하게 제시 할 것을 제안하지만 이것은 제 의견입니다. –

답변

6

프로그램이 일부 출력을 생성하고 있지만 버퍼링 중이면 외부에서 버퍼를 플러시 할 수 없습니다. 당신이 기록됩니다으로 데이터가 파일에 나타나는 볼 수 있습니다

for (int i =0 ; i < 1000 ; i +++) 
{ 
    ... 
    fileoutput.write(...); 
    fileoutput.flush(); 
} 
fileoutput.close(); 

이 방법 :

가장 좋은 fileoutput.flush()를 호출하는 루프를 수정하고 다시 실행하는 것입니다.

1

에 한번 각 반복 후 파일 flush합니다.

작가를 사용할 때 패턴을 최종적으로 시도해보십시오. 패턴을 사용하십시오. Java7로 마지막을 스크랩하고 Try with resources을 사용하십시오.

1

모든 단계에서 마지막 데이터가 출력 파일을 추가했습니다. 따라서 파일에서 마지막으로 찾은 데이터 만 찾을 수 있습니다. 플러시를 잊지 말고 작가의 appendence가 사실임을 확인하십시오.