-
rms存储对象后遍历出错,物理文件里面有数据10
Custom代码:
package com.test2;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
public class Customer {
private int id;
private String name;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public byte[] objectToByteArray(){
ByteArrayOutputStream bos=new ByteArrayOutputStream();
DataOutputStream dos=new DataOutputStream(bos);
try {
dos.write(this.id);
dos.writeUTF(this.name);
//dos.writeUTF(this.password);
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
bos.close();
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return bos.toByteArray();
}
public static Customer byteArrayToObject(byte[]b){
ByteArrayInputStream bis=new ByteArrayInputStream(b);
DataInputStream dis=new DataInputStream(bis);
Customer cus=new Customer();
try {
cus.setId(dis.readInt());
cus.setName(dis.readUTF());
//cus.setPassword(dis.readUTF());
bis.close();
dis.close();
} catch (IOException e) {
e.printStackTrace();
}
return cus;
}
}
MIDlet代码:
package com.test2;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;
import javax.microedition.rms.RecordStoreNotOpenException;
public class MIDlet4 extends MIDlet{
private Display dis;
private Form form;
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
dis=Display.getDisplay(this);
RecordStore rs=null;
form=new Form("存读对象");
try{
//存取对象
rs=RecordStore.openRecordStore("RS4", true);
Customer cus=new Customer();
cus.setId(1);
cus.setName("george");
cus.setPassword("123456");
byte[] b=cus.objectToByteArray();
rs.addRecord(b, 0, b.length);
System.out.println(rs.getNumRecords());
//读出对象
byte[]b2=rs.getRecord(1);
Customer cus2=Customer.byteArrayToObject(b2);
StringItem si=new StringItem("", "");
si.setText("I D :"+cus.getId()+"\n用户名:"+cus2.getName()+"\n密码:");
form.append(si);
dis.setCurrent(form);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
rs.closeRecordStore();
} catch (RecordStoreNotOpenException e) {
e.printStackTrace();
} catch (RecordStoreException e) {
e.printStackTrace();
}
}
}
}
[b][/b][size=x-small][/size]希望各位大虾们指教,谢谢各位!!2010年10月21日 09:11
目前还没有答案
相关推荐
Java ME 中基于 RMS 的记录遍历方法 本文提出了一种基于 RecordEnumeration 接口的记录遍历方法,用于解决 Java ME 中 RecordStore 记录存储中的记录 RecordID 断号问题。该方法通过遍历 RecordStore 记录存储中的...
**J2ME RMS数据存储详解** 在Java Micro Edition (J2ME) 平台中,Resource Management System (RMS) 是一种用于存储应用程序数据的重要机制。由于J2ME主要用于资源有限的移动设备,如手机和掌上电脑,RMS提供了一种...
在VC++编程环境中,处理音频文件时,我们经常会遇到需要计算和调整WAV音频文件的RMS(Root Mean Square,均方根)的情况。RMS是衡量音频信号平均强度的一个重要参数,通常用来表示声音的响度。在音效处理、音频分析...
RMS提供了一种简单而有效的数据持久化方式,使开发人员能够轻松地存储和检索应用程序数据。 #### 二、RMS的基本概念 RMS的核心组件包括RecordStore(记录存储)和Record(记录)。RecordStore相当于数据库中的表,...
2. **记录管理**: 记录是存储在RecordStore中的数据单元,可以是任何Java对象,但通常会序列化为字节数组。开发者可以添加、删除和更新记录。 3. **读写操作**: RMS提供了流式接口来读取和写入记录。可以使用`...
在J2ME(Java 2 Micro Edition)平台上,RMS(Record Management System)是一个关键的存储机制,用于在有限的移动设备资源上实现持久化数据存储。RMS为开发者提供了简单的方法来创建、读取、更新和删除数据,类似于...
RMS,全称为Resource Management System(资源管理系统),在IT领域中,它通常指的是J2ME(Java 2 Micro Edition)平台上的一个标准组件,用于在移动设备上管理和存储数据。这个"RMS.rar_rms"可能是一个包含了RMS...
本项目提供了RMS(均方根)和RLS(最小均方误差)两种自适应滤波器的完整代码,同时附带了“怀孕母亲胸部心电图数据”和“怀孕母亲腹部心电图数据”,目的是通过这两类数据来提取胎儿的心电图信号。 1. RMS(均方根...
RMS使用SQL Server存储其数据,需要从数据库中删除RMS相关的表和存储过程。可以使用SQL查询或专门的工具来执行此操作。务必谨慎,避免误删其他重要数据。 6. **卸载RMS组件** 通过“控制面板”的“程序和功能”...
- **空间管理**:每个MIDlet Suite在设备上都有自己的RMS空间,空间大小可以在jad文件中预先指定。在MIDP 2.0及以上版本,如果MIDlet允许,Record Store可以被Suite外部的其他MIDlets访问。 - **权限控制**:...
本篇文章将深入探讨WTK模拟器中的RMS(Record Management System)文件,这是Java ME应用程序存储数据的一种常见方式。 RMS是Java ME平台上的一种轻量级数据库,主要用于存储结构化数据。它允许开发者创建自己的...
本文将深入探讨MIDP中的记录管理系统(Record Management System,简称RMS),它是手机开发中用于存储和检索数据的主要工具。 RMS为MIDlet(J2ME应用程序)提供了一种跨应用程序调用的持久数据存储方式。它类似于一...
《RMS数据管理程序设计》文档主要探讨了Java ME(J2ME)环境中移动设备上的数据存储机制,尤其是MIDP(Mobile Information Device Profile)的记录管理系统(Record Management System,简称RMS)。RMS为小型设备...
RMS,全称为Record Management System,是Java ME(Micro Edition)平台上的一种数据存储系统,主要用于在移动设备上管理应用程序的数据。对于新手来说,理解和掌握RMS是开发Java ME应用的重要一环,因为它是设备...
《基于J2ME的电话簿程序设计与RMS存储机制详解》 在移动设备的世界里,J2ME(Java Micro Edition)曾是开发轻量级应用程序的重要平台,尤其是在早期的智能手机上,它提供了丰富的功能来构建各种应用。本文将深入...
在编译、运行程序之前,请将所附的数据库文件rms.mdb导入SQL server中,并将此数据库命名为RMS。具体操作步骤可以参见书中这一章的相关小节。若没有安装SQL server,也可以直接在控制面板中将此数据库文件设置为数据...
在实际开发中,开发者需要根据需求选择合适的数据结构(如字符串、字节数组或自定义对象序列化)来与RMS交互,并处理可能出现的异常,如存储空间不足、权限问题等。通过熟练掌握这些基本操作,开发者可以在Java ME...
RMS(Record Management System)是Java ME(J2ME)平台中的一个重要组件,它为应用程序提供了持久化数据存储的功能。由于移动设备资源有限,特别是在早期阶段,RMS成为了J2ME应用中唯一可用的持久化存储方案。RMS的...
至于压缩包子文件的文件名称“RmsAnalyzer-x64”,可以推断这是一个适用于64位操作系统的版本的RMS分析工具。通常,这样的工具会包含各种诊断和清理工具,以及可能的日志分析功能,以便于管理员识别问题、优化性能,...
在图像处理中,RMS也有其独特的应用,特别是在计算图像噪声水平时,与信噪比(SNR, Signal-to-Noise Ratio)密切相关。下面我们将深入探讨RMS的计算过程,以及它在图像处理中的作用。 RMS的计算基于平方平均值,...