큰 바이너리 파일을 작성하는 프로그램이 있습니다. 그리고이 문제를 충족 :.BinaryWriter로 큰 파일을 작성하는 방법
static void Main(string[] args)
{
for (int j = 0; j < 100; j++)
{
string fileName = @"D:\Users\nimci\Desktop\buf\"+j+".bin";
using (var output =
new BinaryWriter(File.Open(fileName, FileMode.Create, FileAccess.Write)))
{
for (int i = 0; i < 4000000; i++)
{
output.Write(i);
//if(i%1000==0) Thread.Sleep(1);
}
}
}
}
그리고 :. 파일 작성에 가끔 내 programm에 충돌을 실행하지 않는 오류 (블록 캐치를 던지는없이 나는 이런 식으로 뭔가를해야만이 문제를 발견하고 해결하기 위해 몇 가지 테스트 콘솔 응용 프로그램을 작성 일부 파일의 크기는 0, 예를 들어 숫자가 8, 10, 15, 17 인 파일이 있습니다 ...
내 집에서는 (덜 강력한) 모든 파일이 제대로 작성되었습니다. 내 작업 컴퓨터 중 일부는 0 크기가 있습니다. Thread.Sleep (1)을 주석 처리하지 않으면 (또는 다른 방식으로 프로그램이 느려지는 경우) 내 작업 컴퓨터에서도 모든 파일이 올바르지 만 이러한 "수정 사항"은 내 컴퓨터에서 작동하지 않습니다. 서버 컴퓨터. 아무도 설명 할 수 있습니까? 오류가 발생했는데 어떻게 해결할 수 있습니까? try-cath-finally를 대신 사용하려고 시도하지만 catch 블록은이 오류를 catch하지 않습니다.
이 문제가되지해야하지만, 당신이 확인할 수 있습니다 귀하의 사용 블록의 마지막 줄에 output.Close()가 도움이되지 않습니다? – DarkSquirrel42
복제 할 수 없습니다. 음,'using'은 닫음 처리를 처리해야하므로 주석으로 작성하지만 내부 루프 뒤에 output.Flush();를 삽입하려고합니다. – Steve
output.Flush(); 도움이되지 않았다. 여전히 0 크기 파일. –