?? rmsope.java
字號:
/**源代碼由程序員聯合開發網(www.pudn.com)會員"周潤發"收集、整理、重新編輯
*Email: ql_chuanzhang@tom.com
*QQ號:1103798882
*歡迎大家與我聯系互相交流學習
**/
package rms_cn;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Vector;
import javax.microedition.rms.InvalidRecordIDException;
import javax.microedition.rms.RecordEnumeration;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;
import javax.microedition.rms.RecordStoreFullException;
import javax.microedition.rms.RecordStoreNotOpenException;
public class RMSOpe {
private String storeName;
private RecordStore rs;
public RMSOpe(String storeName){
this.storeName = storeName;
}
public void openRecordStore(){//打開記錄集
try{
rs = RecordStore.openRecordStore(storeName, true);
}catch(Exception ex){
ex.printStackTrace();
}
}
public void addPhone(String name, String phone){//添加電話
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
try {
dos.writeUTF(name);
dos.writeUTF(phone);
dos.close();
baos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
byte[] data = baos.toByteArray();
try {
rs.addRecord(data,0,data.length);
} catch (RecordStoreNotOpenException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreFullException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void deletePhone(String str){//刪除電話
byte data[] = new byte[100];
String name,phone;
RecordEnumeration re = null;
int re_ID = 0,re_ID_next = 0;
try {
re = rs.enumerateRecords(null,null,false);
} catch (RecordStoreNotOpenException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
while(re.hasNextElement()){
if(re.numRecords()!=1)
try {
data = re.nextRecord();
re_ID_next=re.nextRecordId();
re_ID=re.previousRecordId();
} catch (InvalidRecordIDException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
re_ID=re_ID_next;
} catch (RecordStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
else
try {
re_ID=re.nextRecordId();
rs.deleteRecord(re_ID);
return;
} catch (InvalidRecordIDException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (RecordStoreNotOpenException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (RecordStoreException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
ByteArrayInputStream bais = new ByteArrayInputStream (data);
DataInputStream dis=new DataInputStream(bais);
try {
name=dis.readUTF();
phone=dis.readUTF();
String rms_str=name+": "+phone;
if(str.equals(rms_str)){
rs.deleteRecord(re_ID);
return;
}
} catch (RecordStoreNotOpenException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (InvalidRecordIDException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (RecordStoreException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
};
try {
bais.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
dis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public Vector getAllPhone() throws RecordStoreNotOpenException{//得到所有電話
byte data[] = new byte[100];
Vector v = new Vector();
String name,phone;
RecordEnumeration re = rs.enumerateRecords(null,null,false);
while(re.hasNextElement()){
try {
data = re.nextRecord();
} catch (InvalidRecordIDException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ByteArrayInputStream bais = new ByteArrayInputStream (data);
DataInputStream dis=new DataInputStream(bais);
try {
name=dis.readUTF();
phone=dis.readUTF();
v.addElement(new String(name+": "+phone));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
bais.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
dis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return v;
}
public void closeRecordStore(){//關閉記錄集
try{
rs.closeRecordStore();
}catch(Exception ex){}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -