Zip файл все 24 часа - PullRequest
       1

Zip файл все 24 часа

0 голосов
/ 29 ноября 2010

У меня проблема с этим методом.Он будет вызываться каждые 24 часа (в 3 часа ночи) и должен заархивировать файл.В первый раз все работает правильно.во втором цикле почтовый файл увеличивается только до 4 МБ (должно быть 1,5 ГБ).что я не прав?(Извините за мой плохой английский).вот код:

 private static void zipFile(String srcfile, String desfile) throws IOException {
        FileInputStream in = new FileInputStream(srcfile);
        BufferedInputStream in2 = new BufferedInputStream(in);
        FileOutputStream out = new FileOutputStream(desfile);
        GZIPOutputStream zipOut = new GZIPOutputStream(out);
        BufferedOutputStream out2 = new BufferedOutputStream(zipOut);
        int chunk;
        appendLog("start zip...");
        while ((chunk = in2.read()) != -1) {
                out2.write(chunk);
        }
        out2.close();
        zipOut.close();
        out.close();
        appendLog("zipping file done: " + desfile);
}

Ответы [ 2 ]

0 голосов
/ 29 ноября 2010

Потоки in и in2 не закрыты в этом фрагменте.Может быть, файл srcfile открывается при последнем запуске этого метода, и второе открытие этого файла завершается неудачей?

0 голосов
/ 29 ноября 2010

Одинаковы ли desfile и srcfile при каждом запуске?

В этом случае ваш код будет заменять десфайл на сжатые данные из srcfile при каждом вызове, а не добавлять новые данные в этот файл.В этом случае вы уверены, что размер файла назначения должен был так сильно увеличиться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...