Namespaces
Variants
Actions
Revision as of 16:25, 3 June 2009 by jarmlaht (Talk | contribs)

How to list files and folders in Java ME

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

379 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved