Posted By:
Brian_Glodde
Posted On:
Monday, June 14, 2004 06:46 PM
Using the
RecordStore:
import javax.microedition.midlet.MIDlet;
import javax.microedition.rms.RecordStore;
public class ReadWrite extends MIDlet {
private RecordStore rs = null;
static final String HD_STORE = "MY_DB";
public ReadWrite() {
// Create the record store
openRecStore();
// Write a few records and read them back
writeRecord( "JGuru" );
writeRecord( "MIDP" );
readRecords();
closeRecStore();
deleteRecStore();
}
public void destroyApp( boolean unconditional ) {
}
public void startApp() {
destroyApp( false );
notifyDestroyed();
}
public void pauseApp() {
}
public void openRecStore() {
try {
// The second parameter indicates that the record store
// should be created if it does not exist
rs = RecordStore.openRecordStore( HD_STORE, true );
} catch( Exception e ) {
writeOutput( e.toString() );
}
}
public void closeRecStore() {
try {
rs.closeRecordStore();
} catch( Exception e ) {
writeOutput( e.toString() );
}
}
public void deleteRecStore() {
if( RecordStore.listRecordStores() != null ) {
try {
RecordStore.deleteRecordStore( HD_STORE );
} catch( Exception e ) {
writeOutput( e.toString() );
}
}
}
public void writeRecord( String str ) {
byte[] rec = str.getBytes();
try {
rs.addRecord( rec, 0, rec.length );
} catch( Exception e ) {
writeOutput( e.toString() );
}
}
public void readRecords() {
try {
// Intentionally make this too small to test code below
byte[] recData = new byte[5];
int len;
for( int i = 1; i <= rs.getNumRecords(); i++ ) {
if( rs.getRecordSize( i ) > recData.length ) {
recData = new byte[rs.getRecordSize( i )];
}
len = rs.getRecord( i, recData, 0 );
System.out.println( "Record #" + i + ": " + new String( recData, 0, len ) );
System.out.println( "------------------------------" );
}
} catch( Exception e ) {
writeOutput( e.toString() );
}
}
private void writeOutput( String str ) {
System.err.println( "Msg: " + str );
}
}