Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Revision as of 13:25, 3 June 2009 by jarmlaht (Talk | contribs)

How to list files and folders in Java ME

From Wiki
Jump to: navigation, search

Overview

This article shows, how to list files and folders in a folder on a mobile device. FileConnection API (JSR-75) has FileConnection.list() method for this purpose. It is also possible to get directory and file sizes by using FileConnection.directorySize() and FileConnection.fileSize() methods.


The full source code for a test MIDlet:

Source code: FileListMIDlet.java

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.Enumeration;
import javax.microedition.io.file.*;
import javax.microedition.io.*;
import java.io.*;
 
public class FileListMIDlet extends MIDlet implements CommandListener {
private Form form;
private Command exitCommand;
 
public void startApp() {
form = new Form("C:/ contents");
exitCommand = new Command("Exit", Command.EXIT, 1);
form.addCommand(exitCommand);
form.setCommandListener(this);
Display.getDisplay(this).setCurrent(form);
getFileList("file:///c:/");
}
 
public void pauseApp() {
}
 
public void destroyApp(boolean unconditional) {
}
 
protected void getFileList(String path) {
try {
FileConnection fc = (FileConnection)Connector.open(path, Connector.READ);
Enumeration filelist = fc.list("*", true); //also hidden files are shown
String filename;
while(filelist.hasMoreElements()) {
filename = (String) filelist.nextElement();
fc = (FileConnection)Connector.open(path + filename, Connector.READ);
if(fc.isDirectory()) {
long size = fc.directorySize(false);
form.append(filename+" - "+Integer.toString((int)size)+"B\n");
} else {
long size = fc.fileSize();
form.append(filename+" - "+Integer.toString((int)size)+"B\n");
}
}
fc.close();
}
catch (IOException ioe) {
System.out.println("IOException: "+ioe.getMessage());
}
catch (SecurityException se) {
System.out.println("SecurityException: "+se.getMessage());
}
}
 
public void commandAction(Command c, Displayable d) {
if (c == exitCommand) this.notifyDestroyed();
}
}

See also

460 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×