解决方案 »

  1.   

    像7z、rar、tar.gz这些格式如果开启了固实压缩(Solid compression),那么它会把所有文件当作一个大数据块一起处理,这样压缩比高,但是就需要解压所有文件才能提取。如果是zip,它不支持固实压缩,或者其它格式没有开启固实压缩,每个文件单独压,就可以单独提取。所以只要压缩包不是固实的,你用解压工具或者库提取需要文件的时候,都不会去解压其它文件。如果是固实的,那就不可能了。
      

  2.   

    你要解压什么格式的?zip的如果.net 4.5直接可以用ZipArchive类,4.0及以下可以用DotNetZip、SharpZipLib之类的。
    其它格式的当然也有,不过想要支持所有格式那不如直接调用7z的命令行。
      

  3.   

    Zip的类库虽然好用,但似乎Zip不支持4G以上的压缩包。请问针对rar有什么好用的类库可以实现这个功能吗?谢谢
      

  4.   

    .net上我能找到的托管代码支持解压rar的库只有https://github.com/adamhathcock/sharpcompress,不过我没用过,不知道支持的怎么样。其实大部分地方都是用rarlab官方的unrar.dll,不过我觉得这还不如直接调用7z
      

  5.   


    windows直接拖拽文件,也是一个解压的过程,他会把压缩包解压到系统临时文件夹里,然后复制到你拖拽的地方。并不是没有解压。