I'm trying to write an application with J2ME that uses javax.microedition.rms.RecordStore
to store persistent data. I'm developing this project in NetBeans 6.0 and J2ME 2.2 on Gentoo. When I try to run the project, I get an error because apparently the record store can't be created. Here's a sample of output including the stack trace:
jar: pre-run: cldc-run: Copying 1 file to /home/dzaslavs/ellipsix/programming/cataschedule/dist/nbrun1623864904410254936 Copying 1 file to /home/dzaslavs/ellipsix/programming/cataschedule/dist/nbrun1623864904410254936 Jad URL for OTA execution: http://localhost:8082/servlet/org.netbeans.modules.mobility.project.jam.JAMServlet/home/dzaslavs/ellipsix/programming/cataschedule/dist//CATASchedule.jad Starting emulator in execution mode Running with storage root rms javax.microedition.rms.RecordStoreException: error opening record store file at javax.microedition.rms.RecordStore.(RecordStore.java:2150) at javax.microedition.rms.RecordStore.openRecordStore(RecordStore.java:208) at net.ellipsix.cata.StopRecordStore.(StopRecordStore.java:48) at net.ellipsix.cata.CATAMIDlet.getStopList(CATAMIDlet.java:169) at net.ellipsix.cata.CATAMIDlet.startMIDlet(CATAMIDlet.java:64) at net.ellipsix.cata.CATAMIDlet.startApp(CATAMIDlet.java:449) at javax.microedition.midlet.MIDletProxy.startApp(MIDletProxy.java:44) at com.sun.midp.midlet.Scheduler.schedule(Scheduler.java:372) at com.sun.midp.main.Main.runLocalClass(Main.java:461) at com.sun.midp.main.Main.main(Main.java:126)
I've found a link to what I think is the source of RecordStore
, where the exception is being thrown: http://jcs.mobile-utopia.com/jcs/78052_RecordStore.java. The relevant line is down near the bottom, basically like this:
try {
...
}
catch (java.io.IOException ioe) {
...
throw new RecordStoreException("error opening record store " +
"file");
}
so that suggests that there is an IOException triggered when NetBeans tries to create the record store file. But why would that happen? The output is unfortunately silent on exactly why the record store creation is failing. Does anyone know what might be going wrong, or anything about how NetBeans handles RecordStore
s internally?
Here's the constructor from my code in which the error is triggered, if it's relevant:
public StopRecordStore() throws RecordStoreException {
this.store = RecordStore.openRecordStore("freqstops", true);
if (store.getNumRecords() == 0) {
try {
byte[] collegeAllen = new StopRecord((short)1, "College & Allen").toBytes();
store.addRecord(collegeAllen, 0, collegeAllen.length);
}
catch(IOException ioe) {
ioe.printStackTrace();
} // do nothing
}
}
EDIT: ...no answers after 10 hours? Really?