Java 如何设置byte[]变量的值,使其能够保存所有图像?

Java 如何设置byte[]变量的值,使其能够保存所有图像?,java,java-me,lwuit,Java,Java Me,Lwuit,我的手机里有照片。我想获取照片的字节[]值。我使用以下代码来获得它: fcDir = (FileConnection) Connector.open("file:///"+pRoot+photoDirectory+"/", Connector.READ); if (fcDir.exists()) { Enumeration

我的手机里有照片。我想获取照片的字节[]值。我使用以下代码来获得它:

fcDir = (FileConnection) Connector.open("file:///"+pRoot+photoDirectory+"/", Connector.READ);
                            if (fcDir.exists())
                            {
                                Enumeration filelist = fcDir.list("*", false);
                                while (filelist.hasMoreElements())
                                {
                                    String fileName = (String) filelist.nextElement();
                                    fcFile = (FileConnection) Connector.open("file:///"+pRoot+photoDirectory+"/"+fileName, Connector.READ);
                                    dis = fcFile.openDataInputStream();
                                    byte[] rawImg = new byte[10240];
                                    dis.readFully(rawImg);
                                    Image tmpImg = Image.createImage(rawImg, 0, rawImg.length);
                                    new Fimage(tmpImg).show();
                                }
                            }
Fimage
lWiit表单成功显示,并将图像tmpImg作为其背景图像:并非所有表单都被图像占据,但仅占表单的3/4


我的问题是,我不知道在
byte[]rawImg=new byte[10240]行为参数精确设置什么数字。我将参数设置为10240,但它不是很聪明。那么如何准确设置这个数字呢?

FileConnection
类有一个方法
fileSize()
——调用它,并将结果用作数组的大小。

查看是否有方法从FileConnection对象获取文件长度——然后使用该长度初始化字节数组。