2010-11-22 1 views
3

У меня есть следующий код java для создания zip-файла. Файл отлично работает на linux, но собственный экстрактор Windows XP блокирует его. Обходной путь рекомендуется (перейти к свойствам файла и разблокировать) также не работает. Я прочитал об аналогичных проблемах в Интернете и подобном сообщении о stackoverflow об этом, но ни одно из этих решений не работает для меня. Любые идеи о том, что может вызвать проблему.Windows XP блокирует zip-файлы, созданные моей программой

ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); 
ZipOutputStream zipFile = new ZipOutputStream(byteOut); 
loop { 
    byte [] tempData = "some data".getBytes("UTF-8"); 
    ZipEntry entry = new ZipEntry("blah.txt"); //no path here 
    entry.setSize(tempData.length); //read somewhere that this might solve the issue, didn't work 
    entry.setTime((new Date()).getTime()); //tried with and without this.. this is probably redundent since putNextEntry sets the time to current too. 
    zipFile.putNextEntry(entry); 
    zipFile.write(tempData); 
    zipFile.closeEntry(); 
    } 
zipFile.close();   

P.S.

  1. У меня нет оконного защитника на моей машине для окон.
  2. Я попытался установить размер записи в почтовом индексе, и он все еще не работает.
  3. В записи zip нет абсолютного пути, и в пути нет косой черты.

Спасибо!

Редактировать 1: Да, я тестировал на других машинах с Windows XP с теми же результатами. Я загрузил 7zip, но не смог понять, как проверить метод сжатия. Если кто-то может сказать мне шаги, чтобы сделать это, я могу добавить метод сжатия к комментариям.

Редактировать 2: Я использую собственный мастер извлечения окон, в котором говорится: «Windows заблокировала доступ к этим файлам, чтобы защитить ваш компьютер». Ниже этого сообщения есть ссылка, в которой говорится: «Windows блокирует файлы, помеченные как недопустимые. Почему эти файлы были заблокированы и как я могу их открыть». Щелчок по ссылке дает вам обходной путь (свойства файла -> разблокировать), который не работает.

+1

Weird ... проверено на другой машине? Кроме того, какой метод сжатия он использует (7-zip может сказать вам)? – 2010-11-22 22:19:00

ответ

0

Только что разобрался в проблеме, у моих имен файлов записей была метка времени в них: и окна были напуганы.

ZipEntry entry = новый ZipEntry ("blah.txt"); < - отметка времени здесь, не думаю, что это было важно, поэтому не копировали настоящие имена здесь.

Смежные вопросы