做j2me的,应该经常会用的类似下面这样
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;
import javax.microedition.rms.RecordStoreFullException;
import javax.microedition.rms.RecordStoreNotFoundException;
public class StoreMidlet2 extends MIDlet {
private RecordStore rs;
public StoreMidlet2() throws Exception {
Custom cus = new Custom("中国人", "32451674531", 23);
try {
rs=RecordStore.openRecordStore("myinfo", true);
byte[] bytes=cus.objectToByteArray();
rs.addRecord(bytes, 0, bytes.length);
byte[] bytes2=rs.getRecord(1);
Custom newcus=cus.byteArrayToObject(bytes2);
System.out.println(newcus.getName());
} catch (RecordStoreFullException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RecordStoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
rs.closeRecordStore();
}
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
}
class Custom {
private String name;
private String phone;
private int age;
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @return the phone
*/
public String getPhone() {
return phone;
}
/**
* @return the age
*/
public int getAge() {
return age;
}
/**
* @param name
* the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @param phone
* the phone to set
*/
public void setPhone(String phone) {
this.phone = phone;
}
/**
* @param age
* the age to set
*/
public void setAge(int age) {
this.age = age;
}
public Custom() {
}
public Custom(String n, String p, int a) {
this.name = n;
this.phone = p;
this.age = a;
}
public byte[] objectToByteArray() throws Exception{
ByteArrayOutputStream baos=new ByteArrayOutputStream();
DataOutputStream dos=new DataOutputStream(baos);
dos.writeUTF(this.name);
dos.writeUTF(this.phone);
dos.writeInt(this.age);
baos.close();
dos.close();
return baos.toByteArray();
}
public Custom byteArrayToObject(byte[] bytes) throws Exception{
ByteArrayInputStream bais=new ByteArrayInputStream(bytes);
DataInputStream dis=new DataInputStream(bais);
Custom cus=new Custom();
cus.setName(dis.readUTF());
cus.setPhone(dis.readUTF());
cus.setAge(dis.readInt());
dis.close();
bais.close();
return cus;
}
}
}
的代码,不知还有没有别的方案来存取对象。
分享到:
相关推荐
关于j2me的相关资料 ublic class Person implements KSerializable { private String _name; private String _answer; private String _userid;
J2me中文教程.pdf J2me中文教程.pdf
字符型转化成字节数组 在J2ME中使用非常方便,尤其用于脚本制作或读取等相关方面
基于J2me的对象持久化技术,丁珊珊,杨俊,本文提出了J2me下对象持久化的方案。参考J2se下的序列化机制,实现将J2me下的对象网序列化为byte[]存储于RMS中。定义Config表弥补J2me中不��
J2ME中文教程 不错的学习资料,刚开始学习的可以参考下!
j2me 文档 开发 官方 中文 j2me 文档 开发 官方 中文 j2me 文档 开发 官方 中文
J2ME 中文api以及应用 J2ME 中文api以及应用.rar
近年来伴着Android智能手机的迅速崛起,如何迅速移植已有的J2me应用到Android让其发挥余力,便成了开发人员急于解决的问题,借助本文档你可以非常快速地将原J2ME应用转化为APK应用。还等什么,马上行动吧....
J2ME开发 J2ME开发 J2ME开发 J2ME开发
j2me中文教程
J2ME中文教程 J2ME中文教程
J2ME中文API J2ME中文API帮助文档
这个j2me是关于介绍如何学习j2me技术,让入门者少走弯路,并比较了j2me和j2se的区别,是个非常不错的学习j2me的大纲概要
J2ME 中文教程
本教程详细审查了袖珍版 Java 2 平台 (J2ME),它主要面向在 Java 编程及面向对象设计与开发方面有深厚背景的中级开发者。 您可以首先了解 J2ME 的背景并研究 J2ME 的配置和简表。随后,逐步建立您的开发环境,用于...
浮点型与字节型之间的底层转换 用于J2ME中的浮点型与字节型的转换,非常方便,多用于脚本开发或读取
J2me中任意角度图片旋转 J2me中任意角度图片旋转
音乐的控制,rms的操作类,java字符串解析 将字符串解析成字符数组,java进度条实例模板,j2me中将对象转换成字节数组的方法,j2me联网测试,j2me多线程的应用实例,j2me Socket通信例子 客户端,服务器端
J2ME的中文教程,值得看一下!
全面覆盖MIDP2.0,丰富的示范代码,...本教程是为了学习J2ME MIDP 技术的开发者准备的。尽管本教程内容涉及初学阶段,但本教程不仅仅是一本入门的读物,很多的内容的详细程度对于有经验的开发者来说,也是很多脾益的。