파일 분할 및 결합을위한 프로그램을 작성했습니다. 파일을 작은 조각으로 나누었을 때 작은 파일의 크기가 원래 파일의 크기와 같지 않다는 것을 알게되면 약 30-50 바이트의 데이터가 손실됩니다. 결합 된 파일이 올바르게 실행되지 않습니다.데이터의 파일 분할 손실
예 : 파일 ABC 2 개 부분 ABC1 및 ABC2로 분할되었지만 문제가 sizeof(ABC)
sizeof(ABC1)
+ sizeof(ABC2)
동일하지 이다. sizeof(ABC)
은 Windows의 관점에서, 즉 Windows 속성 대화 상자를 의미합니다.
내 코드는 다음과 같습니다
for(int i =0;i<no_of_parts;i++)
{
copied_data = 0;// a variable that count the no of byte transferred in the part of file
fos = new FileOutputStream(jTextField2.getText()+"\\".part"+i);
bouts = new BufferedOutputStream(fos);
while((b = bins.read())!= -1)
{
bouts.write(b);
copied_data++;
if(copied_data==each_part_size_in_byte)
break;
}
}
내 코드에서이 bouts.close()를 추가했지만 여전히 내 파일에 연결하면 데이터가 손실되므로 동일한 문제가 발생합니다. –
어디에 추가 할 수 있습니까? 또한 파일 합류 코드를 추가하십시오. close()가있는 –
은 flush()를 추가해야만 작동합니다. 덕분에 –