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

📄 richrms.java

📁 一款麻将游戏的J2me源代码
💻 JAVA
字号:
// FrontEnd Plus GUI for JAD
// DeCompiled : RichRMS.class
 
import java.io.ByteArrayOutputStream;
import java.util.Enumeration;
import java.util.Hashtable;
import javax.microedition.rms.*;

public class RichRMS
{

    private Hashtable m_hRecords;
    private RecordStore m_RecordStore;

    private RichRMS(String s)
        throws RecordStoreException
    {
        m_hRecords = new Hashtable();
        m_RecordStore = RecordStore.openRecordStore(s, true);
    }

    public void close()
    {
        try
        {
            m_RecordStore.closeRecordStore();
        }
        catch(RecordStoreNotOpenException recordstorenotopenexception) { }
        catch(RecordStoreException recordstoreexception) { }
    }

    public void save()
    {
        ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
        String s1;
        for(Enumeration enumeration = m_hRecords.keys(); enumeration.hasMoreElements(); bytearrayoutputstream.write(s1.getBytes(), 0, s1.length()))
        {
            String s = (String)enumeration.nextElement();
            bytearrayoutputstream.write((byte)s.length());
            bytearrayoutputstream.write(s.getBytes(), 0, s.length());
            s1 = (String)m_hRecords.get(s);
            bytearrayoutputstream.write((byte)s1.length());
        }

        if(getNumRecords_RecordStore() == 0)
            addRecord_RecordStore(bytearrayoutputstream.toByteArray());
        else
            setRecord_RecordStore(bytearrayoutputstream.toByteArray());
    }

    private void setRecord_RecordStore(byte abyte0[])
    {
        try
        {
            m_RecordStore.setRecord(1, abyte0, 0, abyte0.length);
        }
        catch(RecordStoreNotOpenException recordstorenotopenexception) { }
        catch(InvalidRecordIDException invalidrecordidexception) { }
        catch(RecordStoreException recordstoreexception) { }
    }

    private void addRecord_RecordStore(byte abyte0[])
    {
        try
        {
            m_RecordStore.addRecord(abyte0, 0, abyte0.length);
        }
        catch(RecordStoreNotOpenException recordstorenotopenexception) { }
        catch(RecordStoreException recordstoreexception) { }
    }

    public String get(String s)
    {
        return (String)m_hRecords.get(s);
    }

    public void put(String s, String s1)
    {
        //System.out.println("ft");    	
        m_hRecords.put(s, s1);

    }

    public static RichRMS openRichRMS(String s)
    {
        RichRMS richrms = newRichRMS(s);
        if(richrms != null && !richrms.init())
            richrms = null;
        return richrms;
    }

    private boolean init()
    {
        boolean flag = true;
        byte byte0 = getNumRecords_RecordStore();
        if(byte0 == -1)
            flag = false;
        else
        if(byte0 == 1)
            flag = getRecord();
        return flag;
    }

    private boolean getRecord()
    {
        byte abyte0[] = getRecord_RecordStore();
        return abyte0 != null ? makeHashtable(abyte0) : false;
    }

    private boolean makeHashtable(byte abyte0[])
    {
        for(int i = 0; i < abyte0.length;)
        {
            byte byte0 = abyte0[i++];
            int j = i + byte0;
            StringBuffer stringbuffer = new StringBuffer();
            while(i < j) 
                stringbuffer.append("" + (char)abyte0[i++]);
            byte0 = abyte0[i++];
            j = i + byte0;
            StringBuffer stringbuffer1 = new StringBuffer();
            while(i < j) 
                stringbuffer1.append("" + (char)abyte0[i++]);
            m_hRecords.put(stringbuffer.toString(), stringbuffer1.toString());
        }

        return true;
    }

    private byte[] getRecord_RecordStore()
    {
        byte abyte0[] = null;
        try
        {
            abyte0 = m_RecordStore.getRecord(1);
        }
        catch(RecordStoreNotOpenException recordstorenotopenexception) { }
        catch(InvalidRecordIDException invalidrecordidexception) { }
        catch(RecordStoreException recordstoreexception) { }
        return abyte0;
    }

    private byte getNumRecords_RecordStore()
    {
        byte byte0 = -1;
        try
        {
            byte0 = (byte)m_RecordStore.getNumRecords();
        }
        catch(RecordStoreNotOpenException recordstorenotopenexception) { }
        return byte0;
    }

    private static RichRMS newRichRMS(String s)
    {
        RichRMS richrms = null;
        try
        {
            richrms = new RichRMS(s);
        }
        catch(RecordStoreException recordstoreexception) { }
        return richrms;
    }
}

⌨️ 快捷键说明

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