Problemas com JSR75 na leitura de arquivos txt

Oi, sou novo no forum e ainda estou iniciando com o j2me. Bom estou tentando fazer um programa que lê arquivos txt na memoria do celular (interna ou cartão) e faz persistencia com os dados, entretanto eu tive um problema, testando no meu celular um nokia2660 (não posssui cartão) ele rodou sem problemas utilizando a pasta de imagens do celular para armazenar os arquivos txt, porem, quando testei ele em outro celular (mais recente) e em um smartphone da nokia eles não rodaram.

No da samsung quando foi ler o primeiro arquivo o programa congelou e no da nokia ele simplesmente não leu, eu baixei o kit de desenvolvedor da samsung e nele o programa rodou sem problemas... exceto uma vez que rodei simulando o celular de outra forma, no momento não lembro como fiz, mas deu um security exception.

Se alguem puder me ajudar eu agradeço, irei postar apenas uma parte do codigo que é a que faz a leitura dos dados. Só um obs. pode ser que eu tenha postado um codigo com outros erros, é que não estou no meu pc mas assim que eu puder irei verificar se é a versão que roda sem problemas no meu celular.

[code]public static String[] LerArquivo(String nomeArquivo) {
String[] retorno = null;
StringBuffer full = new StringBuffer();
System.out.println(“Ler There?”);
String[] s = listarRoots();
String galleryPath = System.getProperty(“fileconn.dir.photos”);
System.out.println("root1?: " + s[0]);
for (int j = -1; j < s.length; j++) {
try {
System.out.println("s: " + s.length);
FileConnection fc;
if (j == -1) {
fc = (FileConnection) Connector.open(galleryPath + nomeArquivo);
System.out.println(galleryPath + nomeArquivo);
} else {
fc = (FileConnection) Connector.open(“file:///” + s[j] + nomeArquivo);
System.out.println(“file:///” + s[j] + nomeArquivo);
}
if (!fc.exists()) {
continue;
}

            InputStream is = fc.openInputStream();

            int chr, i = 0;
            while ((chr = is.read()) != -1) {
                full.append((char) chr);
            }

            retorno = split(full.toString());
            fc.close();
            return retorno;

        } catch (Exception e) {
            if(j == s.length-1) {
                e.printStackTrace();
                retorno[0] = ("erro: " + e.getMessage());
                return retorno;
            }
        }
    }
    return retorno;

}

[/code]

Olá

Precisa verificar algumas condições para utilizar esse JSR.

  • Se o dispositivo tem a JSR implementada.
  • Se não há restrição de uso no dispositivo, coisa para acessar precisa ser assinado a aplicação.

Editado:
Quando desenvolvi para o BlackBerry, ele tem uma especie de firewall interno que impede algumas funcionalidades, dai precisa liberar para rodas perfeito.

Espero ter ajudado.
Flwss

Não posto o código todo pois eu estou apenas dando continuação a uma aplicação já existente aqui na faculdade e ela foi implementada utilizando o netbeans e ele agrupa todos os arquivos que deveriam estar no pacote view em um só e no momento não tenho tempo para reescreve-lo.
Bom antes dessa parte eu verifico se ele tem a JSR, como estou em casa rodei denovo no SDK da samsung e o erro é esse:

[code]TRACE: , Exception caught in Display class
java.lang.SecurityException: MIDlet not constructed by createMIDlet.

  • com.sun.midp.midlet.MIDletStateHandler.newMIDletPeer(), bci=24
  • javax.microedition.midlet.MIDlet. (), bci=9
  • view.Veterinaria. (), bci=1
  • util.ManipularArquivos.LerArquivo(), bci=4
  • view.Veterinaria.commandAction(), bci=1592
  • org.netbeans.microedition.lcdui.WaitScreen.doAction(), bci=33
  • org.netbeans.microedition.lcdui.WaitScreen.access$000(), bci=1
  • org.netbeans.microedition.lcdui.WaitScreen$BackgroundExecutor$1.run(), bci=19
  • javax.microedition.lcdui.Display.getCallSerially(), bci=69
  • javax.microedition.lcdui.Display.access$1200(), bci=1
  • javax.microedition.lcdui.Display$DisplayEventConsumerImpl.handleCallSeriallyEvent(), bci=4
  • com.sun.midp.lcdui.LCDUIEventListener.process(), bci=104
  • com.sun.midp.events.EventQueue.run(), bci=179
  • java.lang.Thread.run(), bci=11 [/code]

Esqueça o erro acima, foi em uma versão que tentei modificar as telas de alerta que apareciam enquanto o aplicativo lia os arquivos txt e fazia a persistência.