保存中文字符串到RMS中,读出时乱码的问题,用writeUTF和readUTF解决,
参考如下代码
private RecordStore rs = null;
private RecordEnumeration enum = null;
try {
rs = RecordStore.openRecordStore("Result", true);
enum = rs.enumerateRecords( null,null,false);
}catch(RecordStoreException e) {}
保存姓名:
private void saveResult(String tmpUserName) //保存姓名
{
ByteArrayOutputStream RecordStream = new ByteArrayOutputStream();
DataOutputStream RecordWrite = new DataOutputStream(RecordStream);
try {
RecordWrite.writeUTF(tmpUserName);
byte rec[] = RecordStream.toByteArray();
RecordWrite.close();
RecordStream.close();
try {
rs.addRecord(rec,0,rec.length);
}catch(RecordStoreException e) { }
}
catch (IOException ex) {
}
}
读取姓名:
enum.rebuild();
while (enum.hasNextElement()) {
byte[] b = enum.nextRecord();
try {
ByteArrayInputStream bais = new ByteArrayInputStream (b);
DataInputStream dis = new DataInputStream(bais);
String tmpUserName = dis.readUTF(); //取出姓名
bais.close();
dis.close();
}catch (IOException ex) {}
}
RMS中文乱码问题
最新推荐文章于 2023-06-29 15:39:02 发布