Tag: inflate

从C#中的压缩字符串中解压缩java中的字符串

我正在寻找正确的解决方案来解压缩来自c#code的java中的字符串。我尝试使用java中的许多技术(gzip,inflatter等)。但是没有得到解决方案。我在尝试时遇到了一些错误从c#代码压缩字符串解压缩java中的字符串。 压缩字符串的我的C#代码是, public static string CompressString(string text) { byte[] byteArray = Encoding.GetEncoding(1252).GetBytes(text);// Encoding.ASCII.GetBytes(text); using (var ms = new MemoryStream()) { // Compress the text using (var ds = new DeflateStream(ms, CompressionMode.Compress)) { ds.Write(byteArray, 0, byteArray.Length); } return Convert.ToBase64String(ms.ToArray()); } } 并在java中解压缩字符串, private static void compressAndDecompress(){ try { // Encode a String into bytes String string […]

Java中的multithreading解压缩

所以,我试图用Java对zip文件进行只读访问,以multithreading方式解压缩,因为我的标准简单的ZipFile / ZipEntry单线程解决方案使用枚举和输入流而不是什么导致它采取大约五个完整的秒钟,只需要将一个50兆的zipfile解压缩到内存中,这需要一秒钟的AT MOST让我的磁盘无需解压缩即可读取。 然而,整个Java zip库被同步到令人难以置信的令人讨厌的程度,毫无疑问,因为它完全被抽象用于读/写等。 在相同的代码中,而不是具有良好的有效非同步只读代码。 我看过第三方Java库,它们都是大型VFS库,比使用大象枪射击更糟糕,或者它们具有性能优势的唯一原因是它们multithreading到达无论如何,大多数线程都在磁盘IO上阻塞。 我想要做的就是将zipfile拉入byte [],分叉一些线程,然后处理它。 没有任何理由可以以任何方式进行任何同步,因为我在内存中单独使用的每个解压缩文件都没有交互。 为什么一定要这么难?

Zlib压缩在Java中使用Deflate和Inflate类

我想尝试在java.util.zip中使用Deflate和Inflate类来进行zlib压缩。 我能够使用Deflate压缩代码,但在解压缩时,我遇到了这个错误 – Exception in thread “main” java.util.zip.DataFormatException: unknown compression method at java.util.zip.Inflater.inflateBytes(Native Method) at java.util.zip.Inflater.inflate(Inflater.java:238) at java.util.zip.Inflater.inflate(Inflater.java:256) at zlibCompression.main(zlibCompression.java:53) 这是我目前的代码 – import java.util.zip.*; import java.io.*; public class zlibCompression { /** * @param args */ public static void main(String[] args) throws IOException, DataFormatException { // TODO Auto-generated method stub String fname = “book1”; FileReader infile […]