Я написал код, который записывает сжатые объекты в файл. Мои вопросы: есть ли способ, которым я мог бы отслеживать приращение размера моего файла по мере записи объекта?Вот мой код:
public static void storeCompressedObjs(File outFile, ArrayList<Object[]> obj) {
FileOutputStream fos = null;
GZIPOutputStream gz = null;
ObjectOutputStream oos = null;
try {
fos = new FileOutputStream(outFile);
gz = new GZIPOutputStream(fos);
oos = new ObjectOutputStream(gz);
for (Object str : obj) {
oos.writeObject(str);
oos.flush();
//I was hoping to print outFile.length() here, but it doesn't work
}
} catch (IOException e) {
e.printStackTrace();
} finally {
oos.close();
gz.close();
fos.close();
}
}
Я пытался использовать flush
после каждого oos.writeObject(str);
, а затем получить размер файла с помощью outFile.length()
, но независимо от того, сколько я его сбрасываю, размер файлаостаются неизменными до последнего прыжка до его окончательного размера.В любом случае, что бы я мог это исправить?Спасибо