import javax.microedition.rms.*;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.util.Vector;
public class Record {
private String filename = "record";
private RecordStore recordstore = null;
public void writeNote(String name, int note) {
try {
recordstore = RecordStore.openRecordStore(filename, true);
} catch (Exception e) {
e.printStackTrace();
}
Note neu = new Note(name, note);
Vector recorde = new Vector();
try {
byte[] byteInputData = new byte[100];
ByteArrayInputStream inputStream = new ByteArrayInputStream(byteInputData);
DataInputStream inputDataStream = new DataInputStream(inputStream);
for (int i = 1; i <= recordstore.getNumRecords(); i++) {
recordstore.getRecord(i, byteInputData, 0);
recorde.addElement(new Note(inputDataStream.readUTF(), inputDataStream.readInt()));
inputStream.reset();
}
recordstore.closeRecordStore();
RecordStore.deleteRecordStore(filename);
recordstore = RecordStore.openRecordStore(filename, true);
inputStream.close();
inputDataStream.close();
} catch (Exception e) {
e.printStackTrace();
}
Vector temp = new Vector();
if (recorde.size() > 0) {
boolean insert = false;
for (int i = 0; i < recorde.size(); i++) {
if (note <= ((Note) recorde.elementAt(i)).note) {
temp.addElement(recorde.elementAt(i));
} else {
temp.addElement(neu);
insert = true;
for (int j = i; j < recorde.size(); j++) {
temp.addElement(recorde.elementAt(j));
}
break;
}
}
if (!insert) {
temp.addElement(neu);
}
} else {
temp.addElement(neu);
}
try {
byte[] outputRecord;
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
DataOutputStream outputDataStream = new DataOutputStream(outputStream);
for (int i = 0; i < temp.size(); i++) {
if (i > 5) {
break;
}
outputDataStream.writeUTF(((Note) temp.elementAt(i)).name);
outputDataStream.writeInt(((Note) temp.elementAt(i)).note);
outputDataStream.flush();
outputRecord = outputStream.toByteArray();
recordstore.addRecord(outputRecord, 0, outputRecord.length);
outputStream.reset();
}
outputStream.close();
outputDataStream.close();
recordstore.closeRecordStore();
} catch (Exception e) {
e.printStackTrace();
}
}
public Vector readNote() {
try {
recordstore = RecordStore.openRecordStore(filename, true);
} catch (Exception e) {
e.printStackTrace();
}
Vector recorde = new Vector();
try {
byte[] byteInputData = new byte[100];
ByteArrayInputStream inputStream = new ByteArrayInputStream(byteInputData);
DataInputStream inputDataStream = new DataInputStream(inputStream);
for (int i = 1; i <= recordstore.getNumRecords(); i++) {
recordstore.getRecord(i, byteInputData, 0);
recorde.addElement(new Note(inputDataStream.readUTF(), inputDataStream.readInt()));
inputStream.reset();
}
inputStream.close();
inputDataStream.close();
recordstore.closeRecordStore();
} catch (Exception e) {
e.printStackTrace();
}
return recorde;
}
}