|
Разбиение большого файла на маленькие со сжатием Gzip
|
|||
---|---|---|---|
#18+
Стоит задача разбивать большие файлы (возможно по несколько ГБ), на несколько маленьких по заданному количеству строк. С возможностью сжатия конечного файла GZIP. Вроде задача не супер сложная, но меня не устраивает потребление памяти. Считывал файл построчно StreamReader, сначала в stringbuilder, но программа съедала памяти в 2-3 раза больше чем сами данные. Потом перешел на массив строк с последующим преобразованием в массив байт и сжатием через gzipstream . Но тоже потребление памяти раза в 2 выше чем сами данные. Хочу сжатие производить в оперативке, чтобы не нагружать файловую систему. Подскажите возможно ли как-то реализовать чтение файла и запись его в поток gzip c минимальными затратами оперативки? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2021, 21:40 |
|
Разбиение большого файла на маленькие со сжатием Gzip
|
|||
---|---|---|---|
#18+
как то так, не? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2021, 23:21 |
|
Разбиение большого файла на маленькие со сжатием Gzip
|
|||
---|---|---|---|
#18+
lex452 Стоит задача разбивать большие файлы (возможно по несколько ГБ), на несколько маленьких по заданному количеству строк. С возможностью сжатия конечного файла GZIP. Вроде задача не супер сложная, но меня не устраивает потребление памяти. Считывал файл построчно StreamReader, сначала в stringbuilder, но программа съедала памяти в 2-3 раза больше чем сами данные. Потом перешел на массив строк с последующим преобразованием в массив байт и сжатием через gzipstream . Но тоже потребление памяти раза в 2 выше чем сами данные . Хочу сжатие производить в оперативке, чтобы не нагружать файловую систему . Подскажите возможно ли как-то реализовать чтение файла и запись его в поток gzip c минимальными затратами оперативки? так вы чего хотите на худой конец? к слову: зипование - оно же тоже не построчно делается, эта фигня оценивает (читает) весь файл перед тем как начать зиповать и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 10:59 |
|
Разбиение большого файла на маленькие со сжатием Gzip
|
|||
---|---|---|---|
#18+
Ролг Хупин, любой архиватор более менее нормальный умеет сжимать потоки, никакие полные файлы ему для этого не нужно. а gzip'у это сам бог велел уметь. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 11:00 |
|
Разбиение большого файла на маленькие со сжатием Gzip
|
|||
---|---|---|---|
#18+
Roman Mejtes как то так, не? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Спасибо, это примерно то что нужно. Видимо я слишком ограниченно читал документацию. Там пример для gzipstream через copyto. Вот и не дошло сразу как это применять ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 11:05 |
|
Разбиение большого файла на маленькие со сжатием Gzip
|
|||
---|---|---|---|
#18+
Roman Mejtes Ролг Хупин, любой архиватор более менее нормальный умеет сжимать потоки, никакие полные файлы ему для этого не нужно. а gzip'у это сам бог велел уметь. не спорю, я предположил, хорошо, если так, если зип умеет оценить файл без чтения всего, оценить таблицу кодировки и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 11:10 |
|
Разбиение большого файла на маленькие со сжатием Gzip
|
|||
---|---|---|---|
#18+
Ролг Хупин Roman Mejtes Ролг Хупин, любой архиватор более менее нормальный умеет сжимать потоки, никакие полные файлы ему для этого не нужно. а gzip'у это сам бог велел уметь. не спорю, я предположил, хорошо, если так, если зип умеет оценить файл без чтения всего, оценить таблицу кодировки и т.д. Ну кодировку можно в ридере и врайтере задать ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 12:21 |
|
Разбиение большого файла на маленькие со сжатием Gzip
|
|||
---|---|---|---|
#18+
lex452 Ролг Хупин пропущено... не спорю, я предположил, хорошо, если так, если зип умеет оценить файл без чтения всего, оценить таблицу кодировки и т.д. Ну кодировку можно в ридере и врайтере задать имелась в виду не та кодировка, ну да, ладно ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 13:33 |
|
Разбиение большого файла на маленькие со сжатием Gzip
|
|||
---|---|---|---|
#18+
Ролг Хупин не спорю, я предположил, хорошо, если так, если зип умеет оценить файл без чтения всего, оценить таблицу кодировки и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 14:40 |
|
Разбиение большого файла на маленькие со сжатием Gzip
|
|||
---|---|---|---|
#18+
Shocker.Pro, Зачем оценивать файл? Мне нужно его просто сжать ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 16:03 |
|
Разбиение большого файла на маленькие со сжатием Gzip
|
|||
---|---|---|---|
#18+
И сразу возник вопрос, как добавить данные к файлу, который уже под GZIP не распаковывая его? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 18:23 |
|
Разбиение большого файла на маленькие со сжатием Gzip
|
|||
---|---|---|---|
#18+
lex452 Зачем оценивать файл? Мне нужно его просто сжать ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 19:12 |
|
Разбиение большого файла на маленькие со сжатием Gzip
|
|||
---|---|---|---|
#18+
Вангую, имхо: обыкновенное ТЗ, парня решили прощупать на больших данных, зип куска - лирика, кусок можно на стенку повесить, почтой отправить ... или ещёчо Бро, достойно решил, в стиле российских гос. структур ( насмотрелся этого ужаса), вытащить все в билдер и прифуярит все что можно )) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 00:09 |
|
|
start [/forum/topic.php?fid=20&msg=40102495&tid=1398225]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 165ms |
0 / 0 |