1. 程式人生 > >讀取網路TXT檔案內容解決中文亂碼

讀取網路TXT檔案內容解決中文亂碼

 private String getServerVersion(final String urlStr) {

     new Thread(){
         private BufferedReader in;
         private InputStream input;
         private StringBuffer sb;
         @Override
         public void run() {
             super.run();
             //long a = System.currentTimeMillis();
             try {
/*
* 通過URL取得HttpURLConnection 要網路連線成功,需在AndroidMainfest.xml中進行許可權配置
* <uses-permission android:name="android.permission.INTERNET" />
*/
                 URL url = new URL(urlStr);
                 HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                 conn.setConnectTimeout(60 * 1000);
                 conn.setReadTimeout(60 * 1000);
                 // 取得inputStream,並進行讀取
                 input = conn.getInputStream();
                 in = new BufferedReader(new InputStreamReader(input,"GB2312"));
                 String line = null;
                 sb = new StringBuffer();
                 while ((line = in.readLine()) != null) {
                     sb.append(line);
                 }
                 Message message = new Message();
                 message.obj = sb;
                 handler.sendMessage(message);

             } catch (MalformedURLException e) {
                 e.printStackTrace();

             } catch (IOException e) {
                 e.printStackTrace();
             }finally{
                 try {
                     input.close();
                 } catch (IOException e) {
                     e.printStackTrace();
                 }
             }

         }

     }.start();

     return str;

 }

 

 

 

 

@SuppressLint("HandlerLeak")
private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);

        StringBuffer stringBuffer= (StringBuffer) msg.obj;
        String s = stringBuffer.toString();
        mTitle.setText(s);
    }
};