import java.io.*;
import java.util.*;
import javax.microedition.io.*;
import javax.microedition.midlet.*;
import javax.microedition.io.file.*;
import javax.microedition.lcdui.*;
public class DirLister extends MIDlet {
private int level = 0;
public void startApp() {
Form form = new Form("File Roots");
Enumeration roots = FileSystemRegistry.listRoots();
while (roots.hasMoreElements()) {
Object next = roots.nextElement();
String url = "file:///" + next;
System.out.println(url);
try {
FileConnection connection = (FileConnection) Connector.open(url);
getInfo(connection, form);
}
catch (IOException ex) {
form.append(ex.getMessage() +"\n");
}
}
Display.getDisplay(this).setCurrent(form);
}
public void pauseApp() {}
public void destroyApp(boolean condition) {
notifyDestroyed();
}
private void getInfo(FileConnection connection, Form form) throws IOException {
if (connection.isDirectory()) form.append("------\n");
for (int i = 0; i < level; i++) form.append(" ");
form.append(connection.getPath() + connection.getName() + "\n");
if (connection.isDirectory()) {
level++;
Enumeration list = connection.list();
String path = connection.getPath() + connection.getName();
while (list.hasMoreElements()) {
Object next = list.nextElement();
String url = "file://" + path + next ;
try {
FileConnection child = (FileConnection) Connector.open(url);
getInfo(child, form);
}
catch (Exception ex) {
form.append(ex.getMessage() +"\n");
}
}
level--;
}
}
}
|