开发者

File connection+j2me

I want to make the application where I can get all the images no matter whether it is in开发者_运维问答 phone or in external memory. I want to import all that images in my application. How can it be possible? I came to know that it is possible through file connection. But not getting exact idea.


  1. Get all the file system roots using FileSystemRegistry.listRoots()
  2. Open connection to each root in turn using FileConnection fconn = (FileConnection)Connector.open(root)
  3. List the folder using fconn.list().
  4. For each entry in the list, if it ends with an image extension (file.getName().endsWith(".png") etc), then it's an image.
  5. If the entry is a folder (file.isDirectory() returns true) then use fconn.setFileConnection(folder) to traverse into that directory/
  6. Do the same recursively for all folders in all roots.


Here is a code snippet I once used for my application. It more or less does the same in funkybros steps.

 protected void showFiles() {
        if (path == null) {
            Enumeration e = FileSystemRegistry.listRoots();
            path = DATAHEAD; //DATAHEAD = file:///
            setTitle(path);
            while (e.hasMoreElements()) {
                String root = (String) e.nextElement();
                append(root, null);
            }
            myForm.getDisplay().setCurrent(this);
        } else {
                        //this if-else just sets the title of the Listing Form
                        if (selectedItem != null) {
                            setTitle(path + selectedItem);
                        }
                        else {
                            setTitle(path);
                        }
            try {
// works when users opens a directory, creates a connection to that directory
                if (selectedItem != null) {
                    fileConncetion = (FileConnection) Connector.open(path + selectedItem, Connector.READ);
                } else // works when presses 'Back' to go one level above/up
                {
                    fileConncetion = (FileConnection) Connector.open(path, Connector.READ);
                }
// Check if the selected item is a directory
                if (fileConncetion.isDirectory()) {
                    if (selectedItem != null) {
                        path = path + selectedItem;
                        selectedItem = null;
                    }
                    //gathers the directory elements
                    Enumeration files = fileConncetion.list();
                    while (files.hasMoreElements()) {
                        String file = (String) files.nextElement();
                        append(file, null);
                    }
//
                    myForm.getDisplay().setCurrent(this);
                    try {
                        if (fileConncetion != null) {
                            fileConncetion.close();
                            fileConncetion = null;
                        }
                    } catch (IOException ex) {
                        ex.printStackTrace();
                    }
                }//if (fileConncetion.isDirectory())
                else {
                    System.out.println(path);
                    //if it gets a file then calls the publishToServer() method
                    myForm.publishToServer();

                }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜