Как установить значение переменной byte [], чтобы она могла содержать все изображения? - PullRequest
0 голосов
/ 09 сентября 2011

У меня есть фотографии в устройстве телефона.Я хочу получить значение байта [] фотографии.Я использую этот код, чтобы получить его:

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 LWUIT отображается успешно, и в качестве фонового изображения у нее есть изображение tmpImg: не вся форма занята изображением, а только 3 /4 формы.

Моя проблема в том, что я не знаю, какое число установить точно для аргумента в строке byte[] rawImg = new byte[10240];.Я установил аргумент на 10240, но он не очень умный.Так как установить именно это число?

1 Ответ

0 голосов
/ 09 сентября 2011

Класс FileConnection имеет метод fileSize() - вызовите его и используйте результат в качестве размера для массива.

...