import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.io.*; import java.io.IOException; public class ContentInfo extends MIDlet implements CommandListener { private Display display; private TextBox textBox; public void startApp() { display = Display.getDisplay(this); if (textBox == null) { textBox = new TextBox("URL", "http://", 255, TextField.URL); } display.setCurrent(textBox); Command getInfo = new Command("Get Info", Command.OK, 10); textBox.addCommand(getInfo); textBox.setCommandListener(this); } public void commandAction(Command command, Displayable displayable) { // Network operations should not run in this same thread Thread t = new Thread( new Runnable() { public void run() { display.setCurrent(getInfo()); } } ); t.start(); } private Form getInfo() { Form form = new Form("Content Info"); ContentConnection conn = null; try { conn = (ContentConnection) Connector.open(textBox.getString()); String type = conn.getType(); String encoding = conn.getEncoding(); long length = conn.getLength(); form.append("Media type: " + type + "\r\n"); if (encoding != null) form.append("Encoding: " + encoding + "\r\n"); form.append("Length: " + String.valueOf(length)); } catch (IOException ex) { form.append(ex.getMessage()); } finally { try { if (conn != null) conn.close(); } catch (IOException ex) { /* Oh well. we tried.*/ } } return form; } public void pauseApp() {} public void destroyApp(boolean unconditional) {} }