Есть ли в Java способ сохранить атрибуты «Создано» и «Доступ» для файла при добавлении в zip-архив? - PullRequest
0 голосов
/ 28 февраля 2011

Я мог бы обработать атрибут Modified (lastModified), то есть в архиве я мог сохранить атрибут Modified файла.
Вот образец:

ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream( new FileOutputStream(outFilename)));
File f = new File(filename);
long longLastMod = f.lastModified();
FileInputStream in = new FileInputStream(filename);
// Add ZIP entry to output stream.
ZipEntry ze = new ZipEntry(filename);
ze.setTime(longLastMod);  // the "magic" to store the Modified date/time of the file
out.putNextEntry( ze );
// Transfer bytes from the file to the ZIP file
int len;
while ((len = in.read(buf)) > 0) {
    out.write(buf, 0, len);
}
out.closeEntry();
in.close();
out.close();

Теперь выходной Zip-файл сохранит атрибут Modified, но не сохранит атрибуты Created или Accessed. Есть ли способ сделать это?

1 Ответ

0 голосов
/ 28 февраля 2011

Есть ли способ сделать это?

Нет, это невозможно. Проще говоря: zip-каталог не поддерживает атрибуты.

Однако вы можете использовать setExtra(byte[]) и хранить там всю необходимую информацию. К сожалению, вам понадобится специальный экстрактор для сохранения атрибутов.

Надеюсь, это поможет!

...