本人下载了一个JAVA版,7-zip(lzma)源码,但是想调用 其中的接口去压缩与解压,但是不知调用那个才是正确的?
请各位大侠引导下在网上找了好久,找不到API文档!可以 QQ:715699732

解决方案 »

  1.   

    SevenZip.Compression.LZMA.Encoder/Decoder
      

  2.   

    但是如何对一个 file 文件 压缩啊?
    如果我现在的文件位置是:“c://fileName” 那么压缩与解压分别调用那一个接口呢,麻烦楼上兄台写一下这个方法调用 给我。谢谢
      

  3.   

    public void testCode() {
    InputStream input = null;
    OutputStream output = null;
    try {
     input = new FileInputStream("E:\\test\\myfiles.zip");
     output = new FileOutputStream("E:\\test\\myfiles");
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    }
    Decoder decoder = new Decoder();
    try {
    decoder.Code(input, output, 0, null);
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }
    java.lang.NullPointerException
    at SevenZip.Compression.LZMA.Decoder$LiteralDecoder.Init(Decoder.java:118)
    at SevenZip.Compression.LZMA.Decoder.Init(Decoder.java:235)
    at SevenZip.Compression.LZMA.Decoder.Code(Decoder.java:249)
    at SevenZip.Compression.LZMA.test.DecoderTest.testCode(DecoderTest.java:36)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at junit.framework.TestCase.runTest(TestCase.java:164)
    at junit.framework.TestCase.runBare(TestCase.java:130)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:120)
    at junit.framework.TestSuite.runTest(TestSuite.java:230)
    at junit.framework.TestSuite.run(TestSuite.java:225)
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
      

  4.   

    ╮(╯▽╰)╭  这是我老师barrywey讲课时候写的例子:private static void zip() throws FileNotFoundException, IOException {
    File sourceFolder = new File("d:\\zip_aaa"); // 源文件夹
    File destFile = new File("d:\\zip_aaa\\file.zip"); // 目标文件
    //找出源文件夹中的文件,并创建对应的ZipEntry对象
    File[] filesName = sourceFolder.listFiles();
    ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(destFile));
    byte[] buffer = new byte[1024 * 3];
    for (int i = 0; i < filesName.length; i++) {
    ZipEntry entry = new ZipEntry(filesName[i].getName());//ZipEntry文件名中文会乱码
    FileInputStream fis = new FileInputStream(filesName[i].getPath());
    zos.putNextEntry(entry);//将entry对象加入到zip对象中
    int size = fis.read(buffer); //从源文件中读取字节并写入相应的文件
    while(size != -1) {
    zos.write(buffer,0,size);
    size = fis.read(buffer);
    }//end of while
    zos.flush();
    fis.close();
    }
    zos.close();
    System.out.println("it's done.");
    }
    我自己写的没老师写得好 就不拿出来丢人了
      

  5.   

    这么老的帖子 ???    看看 api  其实 也很容易 做出 解压缩 程序的  !   那天无聊看到java解压缩包 有点好奇  就试了试  一边看一边写 半小时 就搞定了一个 压缩程序!