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

📄 teststore.java

📁 rms常用操作例子,可通过这些例子修改成你想要的代码,绝对有用!
💻 JAVA
字号:
import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.rms.*;

public class TestStore extends MIDlet {
    static final String DBNAME = "mydata";
    public TestStore() {
        RecordStore rs = null;
        // Data is persistent across MIDlet invocations.
        // So, first clear out the old Record Store...
        try {
            RecordStore.deleteRecordStore( DBNAME );
        }
        catch( Exception e ){
            // ignore any errors...
        }
        // Now create a new one and dump 
        // each element out....
        try {
            rs = RecordStore.openRecordStore( DBNAME, true );
            byte[] data1 = "Here is the first record".getBytes();
            byte[] data2 = "And here is the second".getBytes();
            byte[] data3 = "And then the third".getBytes();
            data3[0] = 0;
            data3[data3.length-1] = (byte) -1;
            rs.addRecord( data1, 0, data1.length );
            rs.addRecord( data2, 0, data2.length );
            rs.addRecord( data3, 0, data3.length );
            dumpRecordStore( rs, System.out );
            rs.closeRecordStore();
        }
        catch( RecordStoreException e ){
            System.out.println( e );
        }

        destroyApp(true);
        notifyDestroyed();
    }

    public void dumpRecordStore( RecordStore rs, PrintStream out ){
        if( rs == null ) return;
        StringBuffer hexLine = new StringBuffer();
        StringBuffer charLine = new StringBuffer();
        try {
            int    lastID = rs.getNextRecordID();
            byte[] data = new byte[100];
            byte[] newdata = new byte[100];
            int    size;

            // Update Record
            out.println( "Update every record...");
            for( int i = 1; i < lastID; ++i ){
                try {
                    size = rs.getRecordSize( i );
                    if( size > data.length ){
                        data = new byte[ size * 2 ];
                    }

                    out.println( "Record " + i + " of size " + size );
                    rs.getRecord( i, data, 0 );
                    dumpRecord( data, size, out, hexLine, charLine, 16 );
                    out.println( "" );

                    // Update the current record
                    newdata = "Update a Record...".getBytes();
                    rs.setRecord( i, newdata, 0, newdata.length);
                    rs.getRecord( i, data, 0 );                    
                    dumpRecord( data, size, out, hexLine, charLine, 16 );
                    out.println( "" );
                }
                catch( InvalidRecordIDException e ){
                    continue;
                }
            }
        }
        catch( RecordStoreException e ){
            out.println( "Exception reading record store: " + e );
        }
    } 
    private void dumpRecord( byte[] data, int size,
                             PrintStream out,
                             StringBuffer hexLine,
                             StringBuffer charLine,
                             int maxLen )
    {
        if( size == 0 ) return;

        hexLine.setLength( 0 );
        charLine.setLength( 0 );

        int count = 0;

        for( int i = 0; i < size; ++i ){
            char b = (char) ( data[i] & 0xFF );

            if( b < 0x10 ){
                hexLine.append( '0' );
            }

            hexLine.append( Integer.toHexString( b ) );
            hexLine.append( ' ' );

            if( ( b >= 32 && b <= 127 ) ||
                Character.isDigit( b ) ||
                Character.isLowerCase( b ) ||
                Character.isUpperCase( b ) ){
                charLine.append( (char) b );
            } else {
                charLine.append( '.' );
            }

            if( ++count >= maxLen || i == size-1 ){
                while( count++ < maxLen ){
                hexLine.append( "   " );
                }

                hexLine.append( ' ' );
                hexLine.append( charLine.toString() );

                out.println( hexLine.toString() );
  
                hexLine.setLength( 0 );
                charLine.setLength( 0 );
                count = 0;
            }
        }
    }

    public void destroyApp( boolean unconditional ) {}
    public void startApp() {}
    public void pauseApp() {}
}

⌨️ 快捷键说明

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