日期:2014-05-20  浏览次数:20809 次

ZipInputStream的问题 散200分~~~~
解压zip文件     不含中文

但是   用ZipInputStream解压出来的文件跟源文件比较有差异
(表现为   某些地方会添加0x20   即空格     文件尾缺少     原以为是缓冲的问题   不停的flush也没用)

使用ZipFile的正确  

想问问是什么原因     那些0x20是怎么多出来的

代码如下

使用ZipInputStream解压     (解压不正确)  

public   class   ZipTest2
{
        private   static   int   length   =   9;
        public   static   void   main(String[]   args)   throws   IOException
        {
                File   f1   =   new   File( "C:\\test.zip ");
               
                ZipInputStream   zin   =   new   ZipInputStream(new   FileInputStream(f1));
               
                ZipEntry   zinentry;
               
                while((zinentry   =   zin.getNextEntry())   !=   null)
                {
                        File   f   =   new   File( "C:\\ "   +   zinentry.getName());
                        if(!f.exists())
                        {
                                if(zinentry.isDirectory())
                                        f.mkdirs();
                                else
                                        f.createNewFile();
                        }
                        if(zinentry.isDirectory())
                        {
                                zin.closeEntry();
                                continue;
                        }
                        FileOutputStream   output   =   new   FileOutputStream(f);
                        long   size   =   zinentry.getSize();
                        while(size   > =   length)
                        {
                                System.out.println(size);