⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmsope.java

📁 手机通讯录说明:   手机通讯录程序实现了简单的手机通讯录功能
💻 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 + -