⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 indexhtml.java

📁 反ajax原代码
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   IndexHTML.java

package com.laoer.bbscs.lucene;

import com.laoer.bbscs.sys.SysUtil;
import java.io.File;
import java.io.PrintStream;
import java.util.Arrays;
import java.util.Date;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.index.*;

// Referenced classes of package com.laoer.bbscs.lucene:
//            HTMLDocument

public class IndexHTML
{

    private static final Log logger;
    private static boolean deleting = false;
    private static IndexReader reader;
    private static IndexWriter writer;
    private static TermEnum uidIter;
    static Class class$com$laoer$bbscs$lucene$IndexHTML; /* synthetic field */

    public IndexHTML()
    {
    }

    public static synchronized void doIndex(boolean iscreate)
    {
        try
        {
            String index = SysUtil.getIndexPath();
            boolean create = iscreate;
            File root = new File(SysUtil.getPostFilePath());
            Date start = new Date();
            if(!create)
            {
                deleting = true;
                indexDocs(root, index, create);
            }
            writer = new IndexWriter(index, new StandardAnalyzer(), create);
            writer.maxFieldLength = 0x5f5e100;
            indexDocs(root, index, create);
            logger.info("Optimizing index...");
            writer.optimize();
            writer.close();
            Date end = new Date();
            logger.info((end.getTime() - start.getTime()) + " total milliseconds");
        }
        catch(Exception e)
        {
            System.out.println(" caught a " + e.getClass() + "\n with message: " + e.getMessage());
            logger.error(e);
        }
    }

    public static void main(String argv[])
    {
        String index;
        boolean create;
        File root;
        String usage;
        index = "index";
        create = false;
        root = null;
        usage = "IndexHTML [-create] [-index <index>] <root_directory>";
        if(argv.length == 0)
        {
            System.err.println("Usage: " + usage);
            return;
        }
        int i = 0;
_L2:
        if(i >= argv.length)
            break MISSING_BLOCK_LABEL_147;
        if(argv[i].equals("-index"))
        {
            index = argv[++i];
            break MISSING_BLOCK_LABEL_141;
        }
        if(argv[i].equals("-create"))
        {
            create = true;
            break MISSING_BLOCK_LABEL_141;
        }
        if(i != argv.length - 1)
        {
            System.err.println("Usage: " + usage);
            return;
        }
        root = new File(argv[i]);
        i++;
        if(true) goto _L2; else goto _L1
_L1:
        Date start = new Date();
        if(!create)
        {
            deleting = true;
            indexDocs(root, index, create);
        }
        writer = new IndexWriter(index, new StandardAnalyzer(), create);
        writer.maxFieldLength = 0xf4240;
        indexDocs(root, index, create);
        System.out.println("Optimizing index...");
        writer.optimize();
        writer.close();
        Date end = new Date();
        System.out.print(end.getTime() - start.getTime());
        System.out.println(" total milliseconds");
        break MISSING_BLOCK_LABEL_301;
        Exception e;
        e;
        System.out.println(" caught a " + e.getClass() + "\n with message: " + e.getMessage());
    }

    private static void indexDocs(File file, String index, boolean create)
        throws Exception
    {
        if(!create)
        {
            reader = IndexReader.open(index);
            uidIter = reader.terms(new Term("uid", ""));
            indexDocs(file);
            if(deleting)
            {
                for(; uidIter.term() != null && uidIter.term().field() == "uid"; uidIter.next())
                    reader.delete(uidIter.term());

                deleting = false;
            }
            uidIter.close();
            reader.close();
        } else
        {
            indexDocs(file);
        }
    }

    private static void indexDocs(File file)
        throws Exception
    {
        if(file.isDirectory())
        {
            String files[] = file.list();
            Arrays.sort(files);
            for(int i = 0; i < files.length; i++)
                indexDocs(new File(file, files[i]));

        } else
        if(file.getPath().endsWith(".html") || file.getPath().endsWith(".htm") || file.getPath().endsWith(".txt"))
            if(uidIter != null)
            {
                String uid;
                for(uid = HTMLDocument.uid(file); uidIter.term() != null && uidIter.term().field() == "uid" && uidIter.term().text().compareTo(uid) < 0; uidIter.next())
                    if(deleting)
                        reader.delete(uidIter.term());

                if(uidIter.term() != null && uidIter.term().field() == "uid" && uidIter.term().text().compareTo(uid) == 0)
                    uidIter.next();
                else
                if(!deleting)
                {
                    org.apache.lucene.document.Document doc = HTMLDocument.Document(file);
                    writer.addDocument(doc);
                }
            } else
            {
                org.apache.lucene.document.Document doc = HTMLDocument.Document(file);
                writer.addDocument(doc);
            }
    }

    static Class class$(String x0)
    {
        return Class.forName(x0);
        ClassNotFoundException x1;
        x1;
        throw new NoClassDefFoundError(x1.getMessage());
    }

    static 
    {
        logger = LogFactory.getLog(class$com$laoer$bbscs$lucene$IndexHTML != null ? class$com$laoer$bbscs$lucene$IndexHTML : (class$com$laoer$bbscs$lucene$IndexHTML = class$("com.laoer.bbscs.lucene.IndexHTML")));
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -