my entire testing class is below. just change the file path string in the first line in test4. package server_test2; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.util.zip.Inflater; public class InflaterTest2 { public InflaterTest2() { } public void test4() { try { byte[] packFile = readFile2("/Users/marcos/GitProxyCache/jedit.pack"); byte [] packDataWindow = new byte[8000]; //the below object is the .classpath blob. works fine System.arraycopy(packFile, 4828 + 2, packDataWindow, 0, packDataWindow.length); //the below object is the .project blob. works fine //System.arraycopy(packFile, 4978 + 2, packDataWindow, 0, packDataWindow.length); //the below object is the top-level tree. works fine //System.arraycopy(packFile, 5171 + 2, packDataWindow, 0, packDataWindow.length); //the below object is source code notes blob. works fine //System.arraycopy(packFile, 5760 + 3, packDataWindow, 0, packDataWindow.length); //the below object is a build file blob. works fine //System.arraycopy(packFile, 8619, packDataWindow, 0, packDataWindow.length); //THE BELOW OBJECT FAILS TO INFLATE //IT CAUSES an "incorrect data check" error //Object starts at index 9470 //Type = 3, Decompressed size = 51060 (uses 2 extra size bytes) //System.arraycopy(packFile, 9470 + 3, packDataWindow, 0, packDataWindow.length); Inflater decompresser = new Inflater(); decompresser.setInput(packDataWindow, 0, packDataWindow.length); byte[] result = new byte[60000]; int resultLength = 0; resultLength = decompresser.inflate(result); String outputString = new String(result, 0, resultLength, "UTF-8"); System.out.println(outputString); System.out.println("------- End Decompressed Output -------"); int numCompressed = (int) decompresser.getBytesRead(); System.out.println("# Bytes Compressed: " + numCompressed); decompresser.end(); } catch (Exception e) { e.printStackTrace(); } } public byte [] readFile2(String fileName) { byte [] input2 = null; File tempPackInputFile2 = new File(fileName); DataInputStream tempPackInputStream2; try { tempPackInputStream2 = new DataInputStream(new FileInputStream(tempPackInputFile2)); long tempPackLength2 = tempPackInputFile2.length(); input2 = new byte[(int) tempPackLength2]; tempPackInputStream2.readFully(input2); tempPackInputStream2.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return input2; } public static void main(String[] args) { InflaterTest2 app = new InflaterTest2(); app.test4(); System.out.println("Done."); } } -- View this message in context: http://git.661346.n2.nabble.com/Java-Inflater-problem-decompressing-packfile-tp6278154p6280285.html Sent from the git mailing list archive at Nabble.com. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html