当前位置 : 主页 > 编程语言 > java >

CS-ZipSeacherImpl

来源:互联网 收集:自由互联 发布时间:2021-06-28
gistfile1.txt package cn.huawei.com.CompressedSeacher.impl.zip;import java.io.IOException;import java.util.Collections;import java.util.Enumeration;import java.util.HashMap;import java.util.Map;import org.apache.tools.zip.ZipEntry;import or
gistfile1.txt
package cn.huawei.com.CompressedSeacher.impl.zip;
import java.io.IOException;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;
import cn.huawei.com.CompressedSeacher.inter.ISeacher;
import cn.huawei.com.CompressedSeacher.util.SeachUtil;
import cn.huawei.com.CompressedSeacher.util.logger.GUIPrintstream;
import cn.huawei.com.CompressedSeacher.util.logger.LoggerUtil;
import cn.huawei.com.CompressedSeacher.view.StartUp;

/**
 * **
 *
 * @author l00358914
 */
public class ZipSeacherImpl implements ISeacher {
    private static ZipSeacherImpl instance = new ZipSeacherImpl();
    /**
     * @param args
     */
    public static void main(String[] args) {
    }
    private ZipSeacherImpl() {
    }
    public static ZipSeacherImpl getInstance() {
        return instance;
    }
    @Override
    public Map
 
   seach(String path, String conditions) {
        if (path == null || path.trim().length() <= 0) {
            return null;
        }
        return paserZipFile(path, conditions);
    }
    private Map
  
    paserZipFile(String path, String conditions) { if (path == null || path.trim().length() <= 0) { return Collections.EMPTY_MAP; } Map
   
     result = new HashMap
    
     (); try { ZipFile zip = new ZipFile(path, "UTF-8");// 这里设置支持中文 Enumeration
     
       entries = zip.getEntries(); ZipEntry en; String[] cons = conditions.split(","); while (entries.hasMoreElements()) { en = entries.nextElement(); if (cons.length > 0) {// 判断搜索关键字 if (SeachUtil.isOkToAdd(en.getName(), cons)) { result.put(en.getName(), path); } } } } catch (IOException e) { StartUp.logger = LoggerUtil.getLogger(GUIPrintstream.class); StartUp.logger.error("Failed to open this zip file !", e); LoggerUtil.appLog(); return Collections.EMPTY_MAP; } return result; } }
     
    
   
  
 
上一篇:永无BUG!
下一篇:cs-TarSeacherImpl
网友评论