Namespaces
Variants
Actions

How to list files and folders in Java ME

Jump to: navigation, search
Article Metadata

Article
Created: jarmlaht (15 Feb 2008)
Last edited: hamishwillee (06 Feb 2012)

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"); //creates a new Form screen
exitCommand = new Command("Exit", Command.EXIT, 1); //creates the exit command
form.addCommand(exitCommand); //adds the command to the Form
form.setCommandListener(this); //sets a command listener
Display.getDisplay(this).setCurrent(form);
getFileList("file:///c:/");
}
 
public void pauseApp() {
}
 
public void destroyApp(boolean unconditional) {
}
 
protected void getFileList(String path) {
try {
//Opens a file connection in READ mode
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()) { //checks if fc is a directory
long size = fc.directorySize(false);
form.append(filename+" - "+Integer.toString((int)size)+"B\n");
} else { //otherwise, is a file
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

This page was last modified on 6 February 2012, at 08:55.
327 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