Java: mantener el seguimiento del tamaño del archivo en ejecución?

Escribí un código que escribe objetos comprimidos en un archivo. Mi pregunta es: ¿hay alguna forma en que pueda realizar un seguimiento del incremento del tamaño de mi archivo a medida que se escribe el objeto? Aquí está mi código:

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();
    }
}

Intenté usarlo flushdespués de cada oos.writeObject(str);y luego obtener el tamaño del archivo usando outFile.length(), pero no importa cuánto lo vacíe, el tamaño del archivo permanecerá sin cambios hasta el último salto a su tamaño final. De todos modos, ¿podría arreglarlo? Gracias

Respuesta 1

Estoy trabajando en un programa para mover archivos de una carpeta a otra. Tengo alrededor de 1000 archivos y cada archivo se debe mover a una hora fija. En este momento estoy usando un temporizador como: Timer timer = new Timer (); ...

Sé que el reproductor de audio Blackberry tiene un búfer interno que debe llenarse antes de comenzar a reproducirse. Esto provoca un retraso de aproximadamente 2 segundos antes de que el jugador comience. ¿Puedo eliminar el retraso y comenzar ...

Estoy escribiendo un script PHP que básicamente llama a un programa Java con una cadena, hace que Java cree un archivo cuyo nombre es esa cadena y devuelve ese archivo. Además, todo es midi. $ output_file = mt_rand (...

Recibo el siguiente error al enviar un trabajo a una impresora en Linux. java.lang.NoClassDefFoundError: No se pudo inicializar la clase sun.print.CUPSPrinter No sé por qué no se puede encontrar la clase, ya que es ...