如何检查rms中的第一个值在j2me中为null?

问题描述:

RecordStore rs = RecordStore.openRecordStore("StoryDataBase1",true); 
String data_to_write_in_file = Slug.getString()+"^"+title.getString()+"^"+Body.getString()+"^"+com.editorial.Main.MainImagePath+"^"+com.editorial.Main.MainVideoPath+"^"+com.editorial.Main.MainVoicePath+"$"; 

byte b[] = rs.getRecord(1); 
String str = new String(b,0,b.length); 
if(str.equals("")) { 
byte bytes[] = data_to_write_in_file.getBytes();  
rs.addRecord(bytes,0,bytes.length); 
} 
else 
{ 
str=str+data_to_write_in_file; 
byte[] data = str.getBytes(); 
rs.setRecord(1, data, 0, data.length); 
}  
rs.closeRecordStore(); 

在这个我想检查rms是否包含第一个值,否则它会在它中输入新的值?但我仍然有点困惑,信息是否将永久保存在移动或不...如何检查rms中的第一个值在j2me中为null?

信息永久存储在RMS和我们已经讨论过这方面。 看到这个示例代码和尝试这样,

byte[] recData = null; 
    int len; 
    RecordStore rs = RecordStore.openRecordStore("StoryDataBase1", true); 

    if (rs.getNumRecords() > 0) { 
    recData = new byte[rs.getRecordSize(1)]; 
    len = rs.getRecord(1, recData, 0); 
    String value = new String(recData, 0, len); 
    if(value == null) { 
    .... 
    } else { 
    ... 
    } 
    } 

更新

请参见以下链接供您参考,

  1. Persistent Data in Java ME
  2. How to use RMS in j2me
+0

字符串data_to_write_i n_file =“”; \t \t如果(rs.getNumRecords()> 0) \t \t { \t \t \t recData =新的字节[rs.getRecordSize(1)]; \t \t \t len = rs.getRecord(1,recData,0); \t \t \t String value = new String(recData,0,len); \t \t \t value = value + data_to_write_in_file; \t \t \t \t \t byte [] data = data_to_write_in_file.getBytes(); \t \t \t \t \t rs.setRecord(1,data,0,data.length); \t \t} \t \t别的 \t \t { \t \t \t字节字节[] = data_to_write_in_file.getBytes(); \t \t \t \t \t \t rs.addRecord(bytes,0,bytes.length); \t \t} \t我已经写了这个...但是这仍表现出随机接取ERR – Sourabh 2011-02-23 13:24:48

+0

你在哪里检查空值?因为如果值不可用意味着它返回空值。另请参阅我的更新。 – bharath 2011-02-23 13:44:28