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

📄 dictfile.java~1~

📁 一個手機程序(電子詞典),一個不可多得的源碼程序,是學習J2ME的好東東.
💻 JAVA~1~
字号:
// 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:   DictFile.java

package ecdict;

import java.io.EOFException;
import java.io.InputStream;

// Referenced classes of package ecdict:
//            DictWord

public class DictFile
{

    private InputStream dis;
    private String DictName;
    private String NewWord;
    private byte Buffer[];
    private DictWord NowWord;
    public int DescPos;

    public DictFile()
    {
        dis = null;
        DictName = "";
        NewWord = "";
        Buffer = new byte[26];
        NowWord = new DictWord();
    }

    public void OpenDictFile()
        throws Exception
    {
        CloseDictFile();
        int BasePos1 = 0;
        int BasePos2 = 0;
        DictName = NewWord.substring(0, 1);
        NowWord.DescFileName = DictName + "d";
        dis = getClass().getResourceAsStream(DictName);
        dis.skip(BasePos1);
        dis.read(Buffer, 0, 2);
        DescPos = BasePos2;
    }

    public void CloseDictFile()
    {
        if(dis != null)
            try
            {
                dis.close();
            }
            catch(Exception ex) { }
        dis = null;
    }

    public DictWord GetNextWord()
        throws Exception
    {
        NowWord.Empty();
        if(Buffer[1] != 0)
            try
            {
                int NeedRead = Buffer[0];
                int ReadSize = Buffer[1];
                if(NeedRead < 0)
                    NeedRead += 256;
                if(ReadSize < 0)
                    ReadSize += 256;
                int Off = NeedRead >> 5 | (ReadSize >> 6) << 3;
                NeedRead &= 0x1f;
                NowWord.Pos = DescPos;
                NowWord.DescSize = ReadSize & 0x3f;
                DescPos += NowWord.DescSize;
                ReadSize = dis.read(Buffer, 2 + Off, NeedRead + 2);
                if(ReadSize == NeedRead + 2)
                {
                    Buffer[0] = Buffer[Off + ReadSize];
                    Buffer[1] = Buffer[Off + ReadSize + 1];
                } else
                {
                    Buffer[0] = 0;
                    Buffer[1] = 0;
                }
                NowWord.Word = new String(Buffer, 2, (Off + ReadSize) - 2);
            }
            catch(EOFException e) { }
        return NowWord;
    }

    public DictWord FindNext()
        throws Exception
    {
        while(!GetNextWord().IsEmpty()) 
        {
            String AWord = NowWord.Word;
            if(AWord.length() < NewWord.length())
                continue;
            String s = AWord.substring(0, NewWord.length());
            if(NewWord.equals(s))
                break;
        }
        return NowWord;
    }

    public DictWord SearchWord(String AWord)
        throws Exception
    {
        NewWord = AWord;
        OpenDictFile();
        return FindNext();
    }
}

⌨️ 快捷键说明

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