1 package code
.kalter
.longflight
.rms
;
3 import code
.kalter
.longflight
.ByteArrayInputStream
;
4 import code
.kalter
.longflight
.ByteArrayOutputStream
;
5 import javax
.microedition
.rms
.InvalidRecordIDException
;
6 import javax
.microedition
.rms
.RecordStore
;
7 import javax
.microedition
.rms
.RecordStoreException
;
10 * Удобная работа с RMS
16 public final RecordStore recordStore
;
18 public RMS(String name
, boolean createIfRecordStoreNotFound
)
19 throws RecordStoreException
{
20 recordStore
= RecordStore
.openRecordStore(name
,
21 createIfRecordStoreNotFound
);
24 public ByteArrayInputStream
get(int id
) throws RecordStoreException
,
25 RecordNotFoundException
{
26 if (recordStore
.getNumRecords() < id
) {
27 throw new RecordNotFoundException();
29 return new ByteArrayInputStream(recordStore
.getRecord(id
));
33 * Если запись с номером не будет найдена, то массив байтов запишется в
34 * новую запись, после последней
36 public void put(int id
, ByteArrayOutputStream bytes
)
37 throws RecordStoreException
{
38 final byte[] array
= bytes
.toArray();
39 final int length
= array
.length
;
41 recordStore
.setRecord(id
, array
, 0, length
);
42 } catch (InvalidRecordIDException e
) {
43 recordStore
.addRecord(array
, 0, length
);
47 public void close() throws RecordStoreException
{
48 recordStore
.closeRecordStore();