⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httpexample_4.java

📁 《精通JAVA手机游戏与应用程序设计》随书光盘
💻 JAVA
字号:

import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.io.*;

/*
 * 获得指定网页的数据
 */

public class HttpExample_4 extends MIDlet implements CommandListener {

	private Command exitCommand;

	private TextBox tb;

	String url = "http://127.0.0.1:8080/HelloWorld.html";

	public HttpExample_4() {
		exitCommand = new Command("Exit", Command.EXIT, 1);
		tb = new TextBox("StreamConnectiont例子", "", 200, 0);
		tb.addCommand(exitCommand);
		tb.setCommandListener(this);
	}

	protected void startApp() {
		try {
			HttpConnection c = null;
			InputStream is = null;
			OutputStream os = null;
			int rc;

			try {
				c = (HttpConnection) Connector.open(url);

				// Set the request method and headers
				c.setRequestMethod(HttpConnection.POST);
				c.setRequestProperty("If-Modified-Since",
						"29 Oct 1999 19:43:31 GMT");
				c.setRequestProperty("User-Agent",
						"Profile/MIDP-2.0 Configuration/CLDC-1.0");
				c.setRequestProperty("Content-Language", "en-US");

				// Getting the output stream may flush the headers
				os = c.openOutputStream();
				os.write("LIST games\n".getBytes());
				os.flush(); // Optional, getResponseCode will flush

				// Getting the response code will open the connection,
				// send the request, and read the HTTP response headers.
				// The headers are stored until requested.
				rc = c.getResponseCode();
				if (rc != HttpConnection.HTTP_OK) {
					throw new IOException("HTTP response code: " + rc);
				}

				is = c.openInputStream();

				// Get the ContentType
				String type = c.getType();
				tb.setString(type);
				Display.getDisplay(this).setCurrent(tb);

				// Get the length and process the data
				int len = (int) c.getLength();
				if (len > 0) {
					int actual = 0;
					int bytesread = 0;
					byte[] data = new byte[len];
					while ((bytesread != len) && (actual != -1)) {
						actual = is.read(data, bytesread, len - bytesread);
						bytesread += actual;
					}

				} else {
					int ch;
					while ((ch = is.read()) != -1) {
						// process((byte)ch);
					}
				}
			} catch (ClassCastException e) {
				throw new IllegalArgumentException("Not an HTTP URL");
			} finally {
				if (is != null)
					is.close();
				if (os != null)
					os.close();
				if (c != null)
					c.close();
			}
		} catch (Exception e) {
			System.out.println("error");
		}

	}

	protected void pauseApp() {
	}

	protected void destroyApp(boolean d) {

	}

	public void commandAction(Command c, Displayable d) {
		if (c == exitCommand) {

			destroyApp(false);
			notifyDestroyed();
		}

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -