Tag: 压缩

将动态内容压缩为ServletOutputStream

我想压缩动态创建的内容并直接写入ServletOutputStream,而不是在压缩之前将其保存为服务器上的文件。 例如,我创建了一个Excel工作簿和一个StringBuffer,其中包含带有SQL模板的字符串。 在压缩文件并写入ServletOutputStream进行下载之前,我不想将动态内容保存到服务器上的.xlsx和.sql文件中。 示例代码: ServletOutputStream out = response.getOutputStream(); workbook.write(byteArrayOutputStream); zipIt(byteArrayOutputStream,out); public static boolean zipIt(ByteArrayOutputStream input, ServletOutputStream output) { try { ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(output)); ZipEntry zipEntry = new ZipEntry(“test.xlsx”); zos.putNextEntry(zipEntry); if (input != null) { zipEntry.setSize(input.size()); zos.write(input.toByteArray()); zos.closeEntry(); } } catch (IOException e) { logger.error(“error {}”, e); return false; } return true; }

压缩和解压缩java中的大型数据?

我需要压缩/解压缩文件夹中包含的不同类型的文件,该文件夹的大小可能超过10-11 GB。 我使用了以下代码,但这需要很长时间来压缩数据。 BufferedReader in = new BufferedReader(new FileReader(“D:/ziptest/expansion1.MPQ”)); BufferedOutputStream out = new BufferedOutputStream( new GZIPOutputStream(new FileOutputStream(“test.gz”))); int c; while ((c = in.read()) != -1) out.write(c); in.close(); out.close(); 请教我一些java中的快速压缩和解压缩库,我也想将大文件分成不同的部分,例如每个100MB的块。

使用压缩将java.awt.Image转换为TIFF字节数组

我有一个java.awt.Image,我需要添加CCITT T.6压缩并转换为TIFF字节数组。 我已经看到了一些使用TIFFImageWriteParam和javax.imageio包中的其他类的例子,但我找不到从Image到byte数组的完整示例。 这是我到目前为止从扫描获得的java.awt.Image开始的。 这可以很好地生成TIFF的字节数组,但我需要找到一种方法,使用TIFFImageWriteParam或其他方法,在将TIFF作为字节数组处理之前压缩它: thisImage = … a java.awt.Image from a scanner if(thisImage!=null){ ByteArrayOutputStream baos = new ByteArrayOutputStream(); BufferedImage bimg = new BufferedImage(thisImage.getWidth(null),thisImage.getHeight(null), BufferedImage.TYPE_BYTE_BINARY); bimg.createGraphics().drawImage(thisImage, 0, 0, null); try { ImageIO.write(bimg, “tiff”, baos); } catch (Exception e) { e.printStackTrace(); } thisByteArray = baos.toByteArray(); … 任何帮助,将不胜感激。

apache commons压缩的tar问题

我正在努力尝试使用压缩库来tar某些文件。 我的代码如下,取自commons.compress wiki示例: private static File createTarFile(String[] filePaths, String saveAs) throws Exception{ File tarFile = new File(saveAs); OutputStream out = new FileOutputStream(tarFile); TarArchiveOutputStream aos = (TarArchiveOutputStream) new ArchiveStreamFactory().createArchiveOutputStream(“tar”, out); for(String filePath : filePaths){ File file = new File(filePath); TarArchiveEntry entry = new TarArchiveEntry(file); entry.setSize(file.length()); aos.putArchiveEntry(entry); IOUtils.copy(new FileInputStream(file), aos); aos.closeArchiveEntry(); } aos.finish(); out.close(); return tarFile; } […]

用于压缩(例如LZW)字符串的Java库

Apache Commons Compress仅适用于存档文件(如果我错了,请纠正我)。 我需要类似的东西 MyDB.put(LibIAmLookingFor.compress(“My long string to store”)); String getBack = LibIAmLookingFor.decompress(MyDB.get())); 而LZW只是一个例子,可能是类似的。 谢谢。

在Java中保存到磁盘之前压缩映像

是否可以在保存之前压缩图像? 我正在使用Robot类来捕获图像,它返回一个BufferedImage。 如何压缩此图像然后保存?

如何在Hadoop中使用CompressionCodec

我正在做以下操作从reducer压缩o / p文件: OutputStream out = ipFs.create( new Path( opDir + “/” + fileName ) ); CompressionCodec codec = new GzipCodec(); OutputStream cs = codec.createOutputStream( out ); BufferedWriter cout = new BufferedWriter( new OutputStreamWriter( cs ) ); cout.write( … ) 但是在第3行得到了空指针exception: java.lang.NullPointerException at org.apache.hadoop.io.compress.zlib.ZlibFactory.isNativeZlibLoaded(ZlibFactory.java:63) at org.apache.hadoop.io.compress.GzipCodec.createOutputStream(GzipCodec.java:92) at myFile$myReduce.reduce(myFile.java:354) 我也跟着JIRA一样。 你能否建议我做错了什么?

Java压缩大文件

我正在开发一个适用于一些非常大的文件的应用程序,每个文件大约180mb,其中有3个。 我想在我的应用程序中添加一个选项,通过压缩zip或tar或其他东西来备份这些文件。 什么是最好的选择是在Java中尽可能地压缩它们? 柏油? 压缩? gzip的?

使用deflater对字符串进行压缩/解压缩

我想压缩/解压缩和序列化/反序列化String内容。 我正在使用以下两个静态函数。 /** * Compress data based on the {@link Deflater}. * * @param pToCompress * input byte-array * @return compressed byte-array * @throws NullPointerException * if {@code pToCompress} is {@code null} */ public static byte[] compress(@Nonnull final byte[] pToCompress) { checkNotNull(pToCompress); // Compressed result. byte[] compressed = new byte[] {}; // Create the compressor. […]

什么是好的跨平台css压缩器?

我需要压缩我的CSS作为我的ant构建的一部分。 我注意到csstidy这样做,但是在我的ant构建中包含它并不容易,因为我需要在不同的平台上使用不同的二进制文件。 那么,人们使用的是java css压缩器吗?