欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

解决J2ME联网时出现的中文乱码问题

程序员文章站 2024-03-24 11:28:40
...

以下代码出自http://blog.csdn.net/hellogv/,引用请注明出处!


package hello;

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

import javax.microedition.io.*;

import java.io.*;



public class Midlet extends MIDlet{



    private Display display;

   

    public Midlet(){

     display = Display.getDisplay(this);

    }

   

    public void startApp(){

     try{

     String uURL ="http://3g.pp.cn/phone/app/gpcx.jsp?sid=1182917775043&dirid=03311317&gpdm=600156";

     StringBuffer responseMessage = new StringBuffer();

     HttpConnection hc = (HttpConnection)Connector.open(uURL, Connector.READ_WRITE);

        hc.setRequestMethod(HttpConnection.POST);

        DataOutputStream dos = hc.openDataOutputStream();   

     DataInputStream dis = new DataInputStream(hc.openInputStream());

        //-------------------------关键代码--------------------------------

        byte []str=new byte[1000];//从内存申请空间

        dis.read(str);//把读取返回的信息保存在str中   

        String content= BytesToString(str);//把str转换为字符串

        //-------------------------关键代码--------------------------------           

     Form f = new Form("HTTP Test");

     f.append(content);

     display.setCurrent(f);

        }catch(Exception e){

        }

    }



//-----------------------关键函数-----------------------------

 public String BytesToString(byte[] rec) { //从字节读取内容

ByteArrayInputStream bais = new ByteArrayInputStream(rec);

DataInputStream dis = new DataInputStream(bais);

String BTS=null;

try {

BTS=new String(rec,"UTF-8");

bais.close();

dis.close();

} catch (Exception e) {

e.printStackTrace();

}

return  BTS;

}

//-----------------------关键函数-----------------------------

    public void pauseApp(){

    }

   

    public void destroyApp(boolean unconditional){

    }

} 

上一篇: J2ME 安装

下一篇: j2me写文件