Я написал программу для разбиения и объединения файлов.Когда я разбил файл на маленькие кусочки, я обнаружил, что размер меньшего файла не равен исходному, потеря данных составляет примерно 30-50 байт.и объединенный файл не работает правильно
например, файл ABC был разбит на 2 части, ABC1 и ABC2 , но проблемаis sizeof(ABC)
is не равно 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;
}
}