|
|
|
Результат SQL-запроса в ZIP-архив
|
|||
|---|---|---|---|
|
#18+
Добрый день. Помогите, пожалуйста, примером как запихнуть результат SQL-запроса сразу в ZIP-архив? Удалось только выгрузить сначала в файл построчно, а затем заархивировать файл. Но хотелось бы именно сразу в архив писать. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2016, 18:13 |
|
||
|
Результат SQL-запроса в ZIP-архив
|
|||
|---|---|---|---|
|
#18+
Boro17, А код показать? Вроде достаточно OutputStream обернуть в GzipOutputStream или ZipOutputStream. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2016, 18:39 |
|
||
|
Результат SQL-запроса в ZIP-архив
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. авторjava.util.zip.ZipException: no current ZIP entry at java.util.zip.ZipOutputStream.write(ZipOutputStream.java:326) at java.io.FilterOutputStream.write(FilterOutputStream.java:97) at exportdata.ExportData.runQuery(ExportData.java:109) at exportdata.ExportData.main(ExportData.java:56) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2016, 20:21 |
|
||
|
Результат SQL-запроса в ZIP-архив
|
|||
|---|---|---|---|
|
#18+
У вас в исключении ещё какой-то FilterOuputStream затесался. В коде такого нет. putNextEntry это создание файла внутри архива. Вы чего-то не то пишете в его имени. ResultSet тоже надо закрывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2016, 20:29 |
|
||
|
Результат SQL-запроса в ZIP-архив
|
|||
|---|---|---|---|
|
#18+
Мне кажется или zos.closeEntry() прям в цикле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2016, 20:38 |
|
||
|
Результат SQL-запроса в ZIP-архив
|
|||
|---|---|---|---|
|
#18+
Парни, спасибо, разобрался :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2016, 20:46 |
|
||
|
Результат SQL-запроса в ZIP-архив
|
|||
|---|---|---|---|
|
#18+
Возможно ли посчитать размер несжатого файла не извлекая его, как это делает, например, WinRar? Намекните, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2016, 23:47 |
|
||
|
Результат SQL-запроса в ZIP-архив
|
|||
|---|---|---|---|
|
#18+
Boro17, Код: java 1. 2. взято отсюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2016, 23:53 |
|
||
|
Результат SQL-запроса в ZIP-архив
|
|||
|---|---|---|---|
|
#18+
Технически следует учитывать, что "посчитать размер не извлекая файла" и "посчитать размер не вычитывая поток" - две разные задачи. Вторая может быть нерешаемой, т.к. deflate может записывать фактические значения в заголовки после данных. Ещё могут быть сжатые данные записанные в несколько смежных кусков - тогда у каждого куска будет свой размер, хотя все они принадлежат одному файлу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2016, 02:49 |
|
||
|
Результат SQL-запроса в ZIP-архив
|
|||
|---|---|---|---|
|
#18+
У java.util.zip.ZipFile есть метод size(): количество java.util.zip.ZipEntry. У java.util.zip.ZipEntry есть метод getSize(): the uncompressed size of the entry data, or -1 if not known Есть подозрение, что можно посчитать без вычитывания потока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2016, 05:06 |
|
||
|
Результат SQL-запроса в ZIP-архив
|
|||
|---|---|---|---|
|
#18+
Листинг содержания zip-архива консольными утилитами работает подозрительно быстро. Возможно он просто skip-ает содержимое ZipEntries и берет сведения из заголовков. Код: java 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2016, 10:58 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=94&tid=2123975]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 406ms |

| 0 / 0 |
