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

cs-TarSeacherImpl

来源:互联网 收集:自由互联 发布时间:2021-06-28
gistfile1.txt package cn.huawei.com.CompressedSeacher.impl.tar;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.Collections;import java.util.HashMap;import java.util.Map;import
gistfile1.txt
package cn.huawei.com.CompressedSeacher.impl.tar;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.apache.tools.tar.TarEntry;
import org.apache.tools.tar.TarInputStream;
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 TarSeacherImpl implements ISeacher {
    private static TarSeacherImpl instance = new TarSeacherImpl();
    private TarSeacherImpl() {
    }
    public static TarSeacherImpl getInstance() {
        return instance;
    }

    /*
     * (non-Javadoc)
     * 
     * @see cn.ibm.com.CompressedSeacher.inter.ISeacher#seach(java.lang.String,
     * java.lang.String)
     */
    @Override
    public Map
 
   seach(String path, String conditions) {
        if (path == null || path.trim().length() <= 0) {
            return Collections.EMPTY_MAP;
        }
        String[] cons = conditions.split(",");
        Map
  
    result = new HashMap
   
    (); TarInputStream taris = null; TarEntry te = null; try { taris = new TarInputStream(new FileInputStream(path)); while ((te = taris.getNextEntry()) != null) { if (cons.length > 0) { if (SeachUtil.isOkToAdd(te.getName(), cons)) { result.put(te.getName(), path); } } } } catch (FileNotFoundException e) { StartUp.logger = LoggerUtil.getLogger(GUIPrintstream.class); StartUp.logger.error("Failed to open this tar file !", e); LoggerUtil.appLog(); return Collections.EMPTY_MAP; } catch (IOException e) { e.printStackTrace(); } return result; } }
   
  
 
网友评论