在midp中,没有文件的概念,所以永久存储一般只能依靠记录存储系统实现,关于记录存储系统的简介,可以参看教程:
http://www-900.ibm.com/developerworks/cn/java/j-wi-rms/index.shtml
下面是一些记录存储系统的常用编码介绍:
1、 打开记录集:
打开记录集使用recordstore里面的静态方法openrecordstore,示例代码如下:
recordstore rs = recordstore.openrecordstore(“username”,true);
这样就打开了一个名称为rs的记录集,其中username为记录集的名称,该名称可以根据需要来取,第二个参数代表是否则没有时创建新的记录集,true代表在该记录集不存在时,创建新的记录集,false代表不创建。
如果在打开记录集时,该记录集不存在,则抛出recordstorenotfoundexception异常,所以检测记录集是否已创建可以使用该异常。
注意:记录集打开以后记得关闭。
2、 向记录集中写入数据
2.1增加数据
向已经打开的记录集中添加数据,需要使用addrecord方法,示例代码:
byte[] bytes = {1,2,3};
int id = rs. addrecord(bytes,0,bytes.length);
该代码将字节数组bytes的全部内容写入到记录集中,该方法的返回值为该信息的id,注意:id从1开始,而不是从0开始。
你可以循环使用该方法向记录集中写入多条数据。
2.2修改数据
修改已经存在的记录集中指定id的数据,需要使用setrecord方法,示例代码:
byte[] bytes = {1,2,3};
rs. setrecord(1,bytes,0,bytes.length);
以上代码的作用是将字节数组bytes的全部内容写入到id为1的记录集rs中。
该操作会覆盖已有的数据。
说明:有些时候,你需要将信息写入到记录集中的第一条记录中,则可以结合以上两个方法,则第一次时向记录集增加数据,以后来进行修改。
3、 从记录集中读出数据
从记录集中读取已有数据,需要使用getrecord方法,示例代码:
byte[] bytes = rs. getrecord(1);
该代码从记录集rs中读取第一条数据,将读取到的数据放在bytes数组中。
在读取数据时,可以获得记录集中id的个数,可以使用getnumrecords方法获得
综合代码为:
int number = rs. getnumrecords();
int id = 1;
if(id >0 && id < number){
byte[] bytes = rs. getrecord(1);
}
4、 从记录集中删除记录
从记录集中删除记录的方法有两种:逻辑删除和物理删除。
逻辑删除是指给删除的记录打标记。
物理删除是指从物理上删除该记录,但是该记录的id不能被重用,也就是说该id不会被继续使用。例如一个记录集中有5个记录,假设你删除了id为3的数据,则剩余记录的id依然为1、2、4、5。这给便历带来了一定的麻烦。
5、 便历记录集
便历记录集,即访问记录集中的所有数据,有两个方法,详见:
http://gceclub.sun.com.cn/nasapp/sme/controller/teclist?tid=0103
6、 其他操作
6.1删除记录集
删除记录集不同于删除记录,需要使用deleterecordstore方法,示例代码:
recordstore. deleterecordstore(“username”);
该代码删除名称为username的记录集。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器