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

📄 persistent storage-teststore.java

📁 RMS移动商务应用开发
💻 JAVA
字号:
/* License *  * Copyright 1994-2004 Sun Microsystems, Inc. All Rights Reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: *   *  * Redistribution of source code must retain the above copyright notice, *      this list of conditions and the following disclaimer. *  *  * Redistribution in binary form must reproduce the above copyright notice, *      this list of conditions and the following disclaimer in the *      documentation and/or other materials provided with the distribution. *  * Neither the name of Sun Microsystems, Inc. or the names of contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. *   * This software is provided "AS IS," without a warranty of any kind. ALL * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. *   * You acknowledge that this software is not designed, licensed or intended * for use in the design, construction, operation or maintenance of any * nuclear facility.  */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 );        }        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];            int    size;            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( "" );                }                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 + -