Повлияет ли архивирование в Java на другие процессы, использующие те же файлы? - PullRequest
1 голос
/ 28 апреля 2009

Я использую библиотеку java.util.zip и ZipOutputStream, чтобы создать zip-файл каталога и всех файлов и каталогов в нем. В моем приложении вполне вероятно, что другой поток может получить доступ к этим же файлам во время сжатия. Я не специалист по сжатию файлов (или по безопасности потоков), поэтому мой вопрос, будет ли архивировать каталог, в то время как другой доступ к этим файлам повлияет на любой процесс?

Ответы [ 2 ]

3 голосов
/ 28 апреля 2009

Только если процессы открыли файлы таким образом, чтобы предотвратить доступ для чтения другими процессами. (Для этого обычно требуются специфичные для ОС флаги.) Так что, конечно, это возможно, но это не обычный случай.

1 голос
/ 28 апреля 2009

Предполагая, что вы работаете в Windows, и что ваш параллельный доступ доступен только для чтения, тогда я ожидаю, что процесс архивации не повлияет ни на что.

Подробный подход к блокировке файлов Java см. В Технических советах по JDC .

...