rms存储怎么存储int数组数据
发布时间:2010-06-05 12:39:11 文章来源:www.iduyao.cn 采编人员:星星草
rms存储如何存储int数组数据
我想存储4个int型的数组,现在不知道该怎么存了,数组里面的数据都超过了byte的范围。请高人指点迷津。
------解决方案--------------------
把一个int分成4个byte存储
------解决方案--------------------
构造一个ByteArrayOutputStream
转为DataOutputStream
依次writeInt()进去
将ByteArrayOutputStream转为byte[],存入rms
对应读取:
读取byte[],转为ByteInputStream,转为DataInputStream
依次readInt()
------解决方案--------------------
String方式存入,例入3000存为 "3000 ",取出后也是String,再用Integer.parseInt( "3000 ");变为整数.
------解决方案--------------------
存string最方便。
------解决方案--------------------
yanhan0615(炮炮) ( ) 信誉:100 Blog 2007-1-2 11:30:41 得分: 0
把一个int分成4个byte存储
这个方法还是很好用的.
把一个int 同过> > 操作,分成4 个byte 存取都很方便.
------解决方案--------------------
自己转换格式
或者使用流
------解决方案--------------------
dataOutputStream.writeInt(int i);
dataInputStream.readInt();
------解决方案--------------------
用String会很麻烦吗,不觉得啊
------解决方案--------------------
ByteArrayOutputStream baops = new ByteArrayOutputStream();
DataOutputStream outputStream = new DataOutputStream(baops);
outputStream.writeInt();
------解决方案--------------------
public static byte[] int2Byte(int n) {
return new byte[] { (byte) ((n > > 24) & 0xff),
(byte) ((n > > 16) & 0xff), (byte) ((n > > 8) & 0xff),
(byte) (n & 0xff) };
}
------解决方案--------------------
有2种方法.
1.先对int进行编码
ByteArrrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream();
dos.writeInt(i);//i就是你的整型数据
byte[] result = null;
result = baos.toByteArray();
用的时候解码:
ByteArrayInputStream bais = new ByteArrayInputStream();
DataInputStream dis = new DataInputStream();
int i = dis.readInt();
2.
byte[] b = new byte[4];(Int是32位)
b[0] = (byte)(0xff & (i > > 24));
b[1] = (byte)(0xff & (i > > 16));
b[2] = (byte)(0xff & (i > > 8));
b[3] = (byte)(0xff & (i > > 0));
------解决方案--------------------
最好不建议使用string,如果你存的既有int又有short又有string又有byte[],岂不麻烦...
------解决方案--------------------
byte[] result = null;
result = baos.toByteArray();
有什么用呢?
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
myeclipse上开发j2me的错误提示怎么看(找个好多没有解决的,CSDN能人出来啊......)
对于javame的提示实在无语啊。如下
java.lang.I...
-
命令行执行java程序,含有多个包
我定义了一个java project 叫project1,
然后建立了两个package,(注意都不是jar包)
一个叫animaltestdr...
-
j2me新手问题
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class gamestart extends...
-
j2me中如何用代码判断两次pointerPressed之间的时间差?
j2me中如何用代码判断两次pointerPressed之间的时间差?
------解决方案---...
-
通过电脑上wap浏览器可以进入我的wap网站,但是手机不能上,为什么?
我做了wap网站,通过花生壳挂接到外网上了。
通过电脑上wap浏览器可...
-
不含声音文件,如何播放声音?塞班
今天看了一下“飞信JAVA 1.0版”,安装后,信息提示音跟电子音似的。
解压后,发现只有一堆class文件,和...
-
怎么看wtk的源码?高分求助!
我们平时使用eclipse时,点右键选open declaration,或者按F3即可查看源码。现在我建了一个J2ME Midlet工程...
-
如何使用外部js验证下拉列表是否选择
我想使用js对表单进行验证,其中有一个下拉列表,如何验证这个下拉列表在提交的时候已经做过选...
-
关于GUI的一个问题(分不多了,请谅解)
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class MyMouseAdap...
-
j2me socket读取服务器中文出乱码
conn = (SocketConnection) Connector.open(addr ,Connector.READ_WRITE);
conn.setSocketOpti...