ipworkszip.Zip 开源的zip 解压压缩工具

多线程:
在很多场景下都要考虑的问题
如在编码的时候:一个供多线程访问的类中,成员变量是不能随便定义的。
如:在sun 的jdk中,SimpDataForamt 在做转换时,如果有多线程同时访问一个对象就会报错。
ipworkszip.Zip  开源的zip 解压压缩工具,这个工具非常的好用  只用三句代码就可以压缩文件,二句就可以解压文件。  真的很方便,
但是:这个工具它不支持多线程并发的访问。可以通过测试来验证:
test code:
import ipworkszip.Zip;

public class TestIpWork
{
    public void test1(String filePaht, String workDirPaht) throws Exception
    {
        Zip zip = new Zip();
        zip.setArchiveFile(filePaht);
        zip.setExtractToPath(workDirPaht);
        zip.extractAll();
    }

    public static void main(String[] args) throws Exception
    {
        for (int i = 0; i < 20; i++)
        {
            final int j = i;
            new Thread(new Runnable()
            {
                @Override
                public void run()
                {
                    try
                    {
                        TestIpWork test = new TestIpWork();
                        test.test1("a" + j + ".zip", "test/" + j + "/");
                        Thread.sleep(100);
                    }
                    catch (Exception e)
                    {
                        e.printStackTrace();
                    }
                }
            }).start();
        }

    }
}

猜你喜欢

转载自adminlin.iteye.com/blog/1664697