Windows XP блокирует zip-файлы, созданные моей программой - PullRequest
3 голосов
/ 23 ноября 2010

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

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

приписка

  1. На моем компьютере с ОС Windows нет защитника Windows.
  2. Я попытался установить размер записи zip, но он все еще не работает.
  3. В записи zip не указан абсолютный путь, а в пути нет косых черт.

Спасибо!

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

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

1 Ответ

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

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

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

...