RecordStore store = RecordStore.openRecordStore("DB", true);
Person p = new Person();
byte[] b = p.obj2ByteArray();
store.addRecord(b, 0, b.length);
System.out.println(store.getNumRecords());
p.byteArrayToObj(store.getRecord(1));
store.closeRecordStore();
class Person
{
private String name;
private String phone;
public byte[] obj2ByteArray() throws Exception
{
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(outputStream);
dos.writeUTF("事实上");
dos.writeUTF("32322332");
outputStream.close();
dos.close();
return outputStream.toByteArray();
}
public void byteArrayToObj(byte [] b) throws Exception
{
ByteArrayInputStream inputStream = new ByteArrayInputStream(b);
DataInputStream dos = new DataInputStream(inputStream);
System.out.println(dos.readUTF());
System.out.println(dos.readUTF());
}
}
遍历:
RecordStore store = RecordStore.openRecordStore("DB", true);
store.addRecord("中国".getBytes(), 0, 4);
store.addRecord("日本".getBytes(), 0, 4);
store.addRecord("韩国".getBytes(), 0, 4);
store.deleteRecord(2);
int num = store.getNumRecords();
for(int i = 0; i <= num ;i ++)
{
System.out.println(new String(store.getRecord(i)));
}
//这样是错误的、
RecordEnumeration n = store.enumerateRecords(null, null, false);
while(n.hasNextElement())
{
System.out.println(new String(n.nextRecord()));
}
RecordListener
RecordFilter:
public boolean matches(byte[] c)
RecordFilter
public int compare(byte[] arg0, byte[] arg1)
{
return RecordComparator.EQUIVALENT;
}