Não Consigo Ler o "file:/root1/"!

Galera,

Quando eu tento acessar o root do PDA ele retornar uma execeção dizendo que não econtrou o caminho:

FileConnection fc = (FileConnection) Connector.open(“file:///root1/”);

Alguem pode me dar uma dica ?

Valeu
Nando

root1 eh diretório ou arquivo?
se for arquivo basta tirar a última "/"
Se vc colocar um arquivo teste.txt por exemplo e executar o comando

 FileConnection fc = (FileConnection) Connector.open("file:///root1/teste.txt"); 

funciona?

[]s

Bom dia !

eltonk,

O Root é o Diretorio Raiz da PAD, pelo menos segundo o Artigo da “Java Magazine Ed. 21” deveria ser como o root do Linux, então deveriam exister varios roots, como se fossem o C:, D: etc …

Eu até cosigo lista os que existem mais quando tento acessar um deles com o FileConnection, dá o seguinte erro:

Starting emulator in execution mode
Running with storage root DefaultColorPhone
java.lang.IllegalArgumentException: Root is not specified
at com.sun.midp.io.j2me.file.Protocol.openPrim(+196)
at javax.microedition.io.Connector.openPrim(+233)
at javax.microedition.io.Connector.open(+15)
at javax.microedition.io.Connector.open(+6)
at javax.microedition.io.Connector.open(+5)
at aplicativosJ2ME.TestePIM.listaConteudo(+57)
at aplicativosJ2ME.TestePIM.<init>(+22)
at java.lang.Class.runCustomCode(+0)
at com.sun.midp.midlet.MIDletState.createMIDlet(+19)
at com.sun.midp.midlet.Selector.run(+22),

Segue abaixo o codigo que eu Fiz.

/*
 * TestePIM.java
 *
 * Created on 3 de Fevereiro de 2005, 10&#58;41
 */

package aplicativosJ2ME;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.pim.*;
import javax.microedition.io.file.*;
import javax.microedition.io.*;
import java.util.*;

/**
 *
 * @author  nando
 * @version
 */
public class TestePIM extends MIDlet &#123;
    
    private List lista;
    
    
    public TestePIM&#40;&#41;&#123;
        lista = new List&#40;&quot;TestePIM&quot;, List.IMPLICIT&#41;;
        listaConteudo&#40;&#41;;
    &#125;
    
    
    public void startApp&#40;&#41; &#123;
     Display.getDisplay&#40;this&#41;.setCurrent&#40;lista&#41;;
    &#125;

    public void destroyApp&#40;boolean param&#41; &#123;
    &#125;    
    
    protected void pauseApp&#40;&#41; &#123;   &#125;
    
    
    // Lista o conteudo do PDA
    private void listaConteudo&#40;&#41;&#123;
        try&#123;                                 

            String teste = &quot;&quot;;
            Enumeration ee = FileSystemRegistry.listRoots&#40;&#41;;
            while&#40;ee.hasMoreElements&#40;&#41;&#41;&#123;
                String fileName = &#40;String&#41;ee.nextElement&#40;&#41;;
                lista.append&#40;fileName,null&#41;;
                teste = fileName;
            &#125;
            Display.getDisplay&#40;this&#41;.setCurrent&#40;lista&#41;;
            
             FileConnection fc = &#40;FileConnection&#41; Connector.open&#40;&quot;file&#58;///root1&quot;&#41;;
             Enumeration e = fc.list&#40;&#41;;
            
            while&#40;e.hasMoreElements&#40;&#41;&#41;&#123;
                String fileName = &#40;String&#41;e.nextElement&#40;&#41;;
                
                if&#40;fileName==null&#41;&#123;
                lista.append&#40;&quot;Vazio&quot;,null&#41;;
                &#125;else&#123;
                lista.append&#40;fileName,null&#41;;
                &#125;
            &#125;
            
            Display.getDisplay&#40;this&#41;.setCurrent&#40;lista&#41;;
            fc.close&#40;&#41;;
            
        &#125;catch&#40;Exception e&#41;&#123;
            lista.append&#40;&quot;Deu Erro&quot;,null&#41;;
            Display.getDisplay&#40;this&#41;.setCurrent&#40;lista&#41;;
            e.printStackTrace&#40;&#41;;
        &#125;
    &#125;
&#125;

Se puder me ajudar fico grato !

Valeu cara,

Nando[/code]

Oi galera!

Olha só vc está tentando acessar o root com uma nome de exemplo que a revista deu, use um dos elementos da primeira lista para fazer funcionar.

Modifique a linha:
FileConnection fc = (FileConnection) Connector.open(“file:///root1”);
na função listaConteudo() para:
FileConnection fc = (FileConnection) Connector.open(“file:///” + teste + “/”);

[]'s

Casé