j2me如何读取网上资源文件例如文本文件,图形文件
j2me如何读取网上资源文件例如文本文件,图形文件。
例如,读取www.kingdart.cn/jaccount/imobile.png 转换为Image
又例如:读取www.kingdart.cn/jaccount/readme.txt 转换为String
只在模拟器上成功我也会,要求是真机上成功!
搞了我二天了,读到的是一些xml的文本,根本不沾边!private final static String proxy;// = "http://10.0.0.172:8080/";private final static String X_ONLINE_HOST = "X-Online-Host";private final static String KINGDART_DOMAIN = "http://www.kingdart.cn:80/";HttpConnection sc = null;InputStream is = null;FieldInputStream fs = null;try {if(midlet.proxy != null){sc = (HttpConnection)Connector.open(midlet.proxy + KINGDART_DOMAIN + "jaccount/readme.txt", Connector.READ, true);sc.setRequestProperty(X_ONLINE_HOST, KINGDART_DOMAIN + "jaccount/readme.txt");}else{sc = (HttpConnection)Connector.open(KINGDART_DOMAIN + "jaccount/readme.txt",Connector.READ, true);//sc.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0");//sc.setRequestProperty("Content-type", "text/plain"); //image/x-pngint rc = sc.getResponseCode(); if (rc != HttpConnection.HTTP_OK) {throw new IOException("HTTP response code: " + rc);}is = sc.openInputStream();// ... 省略, 没有异常抛出,但读出一片垃圾(一个xml的文件头)而不是所要求的文件is = sc.openInputStream();
Congratulation!
返回的是移动资费页面!
需要想办法将这个页面忽略掉
由于我返回的是text文件,我方法是
while(true){if(sc != null){sc.close();}sc = (HttpConnection)Connector.open(url,Connector.READ, true);sc.setRequestMethod(HttpConnection.GET);if(sc.getHeaderField("Content-Type").equals("text/plain")){break;}if(++i > 5){throw new IOException("Reach max connection count!");}}