Duvida na escrita e leitura de arquivo no dispositivo móvel

Olá pessoal como vao?
Está acontecendo um problema, quando tento escrever e ler um arquivo do emulador dá certinho utilizo o seguinte código:

//cria diretorio
public void createDir() {
        try {
            
            //cria arquivo no cartão de memória
            FileConnection fc = (FileConnection) Connector.open("file:///root1/JiTVBenchmark/");
           // lista arquivos do diretorio
            Enumeration e = FileSystemRegistry.listRoots();
            while (e.hasMoreElements()) {

                System.out.println("S5");
                String rootName = (String) e.nextElement();
                System.out.println("mounted root:" + rootName);
            }
            if (!fc.exists()) {
                fc.mkdir();
            }            

            fc.close();
        } catch (IOException e) {
            System.out.println("Erro ao criar diretorio");
            e.printStackTrace();
        }
    }

 public void call(){
        Thread t = new Thread(new Runnable() {
        public void run() {
           
           createDir();
                         
        }
    });
    t.start();
    }

Porém quando tento importar para o meu celular troco root1 por c: ou entao por e: e não dá certo!

Dá erro de segurança e acesso negado!!!
O que pode estar acontecendo??? Ele está sendo chamado dentro de uma thread já!!! estranho nao é???

se ñ me engano vc precisa dar a permissão pras midelets poderem acessar o sistema de arquivos do seu celular, vc deve encontrar essa opção na configuração de aplicativos ou algo assim

flw t+

Tá certo!!!
Mas como faço isso???

É o seguinte, vc não pode gravar/apagar qualquer diretório de seu seu celular, por obvias razões de segurança. J2me não te permite isso e até pq roda encima de um SO, o qual, impõe suas restrições para os aplicativos que rodam acima dele. Antes de mais, nada precisa saber quais diretórios pode gravar. Dê uma olhada nesse link que te explica bem legalsinho:
http://developers.sun.com/mobility/apis/articles/fileconnection/
Adiantando, existe um metodo estático FileSystemRegister que te retorna um lista de diretórios a partir dai vc pode verificar quais os possíveis para gravação.

Legal o link… lá informa caminhos de acesso para gravação e leitura!!!
O foda é que ja tentei todo tipo…
olhaa:

CFCard/ - FileConnection fc = (FileConnection) Connector.open(“file:///CFCard/dados.txt”);
SDCard/ - FileConnection fc = (FileConnection) Connector.open(“file:///SDCard/dados.txt”);
MemoryStick/ - FileConnection fc = (FileConnection) Connector.open(“file:///MemoryStick/dados.txt”);
C:/ - FileConnection fc = (FileConnection) Connector.open(“file:///C:/dados.txt”);
/ - FileConnection fc = (FileConnection) Connector.open(“file:////dados.txt”);

Para memória interna use “file://localhost/c:/” ou "file:///c:/"
Para cartão de memória “file://localhost/e:/” ou “file:///e:/”

Hauhhuauha… e dá acesso negado!!!
Tenso tenso…

Tentou pegar todos diretórios pelo metodo FileSystemRegister? E testar cada um se é ou não possível?

NO emulador sim!!! Mas no cel Nao…

Realizei o teste de roots disponíveis no dispositivo, resultado em: [color=red]C:/ [/color]

Daí tentei criar a pasta no dispositivo, da seguinte forma:

FileConnection fc = (FileConnection) Connector.open("file:///C:/JiTVBenchmark/"); if (!fc.exists()) { fc.mkdir(); } fc.close();

Há alguma coisa errada neste código? Barras ou a utilização de file???

Lembrando: Ocorre o seguinte ERRO: java/lang/SecurityException - Access denied

Alguma [color=blue] LUZ POR FAVOR???[/color]