мой вопрос может быть не полностью связан с Java, но в настоящее время я ищу метод для объединения нескольких сжатых (gzipped) текстовых файлов без необходимости их повторного сжимания вручную. Допустим, у меня есть 4 файла, весь текст, сжатый с помощью gzip, и вы хотите сжать их в один файл * .gz без декомпозиции +. Мой текущий метод, чтобы открыть InputStream и разобрать файл построчно, хранение в GZIPoutputstream, который работает, но не очень быстро .... Я мог бы, конечно, также называютСочетание сжатых текстовых файлов Gzipped с использованием Java
zcat file1 file2 file3 | gzip -c > output_all_four.gz
Это будет работать, но слишком тоже не очень быстро.
Моей идеей было бы скопировать входной поток и записать его в выходной поток непосредственно без «разбора» потока, поскольку мне вообще не нужно что-либо манипулировать. Что-то вроде этого возможно?
Что об использовании 'кота file1 file2 file3> output_all_three.gz'? – SubOptimal
В теории: Да. Практически многие инструменты затем воспринимают вывод как отдельные файлы, то есть они не работают на выходе таким образом. – w3b1x
Какой 'много инструментов' вы имеете в виду? 'gzip' не обманывается, Java не обманывается. И использование 'gzip' таким образом является допустимым примером http://www.gnu.org/software/gzip/manual/html_node/Advanced-usage.html. – SubOptimal