1. 程式人生 > >解決讀取中文url路徑問題 Txt例子

解決讀取中文url路徑問題 Txt例子

 private String getServerVersion(final String urlStr) {

     new Thread(){
         private URL url1;
         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);
                 String encode = URLEncoder.encode(url.toString(), "utf-8");
                 encode = encode.replace("%2F","/");
                 encode =  encode.replace("%3A",":");
                 url1 = new URL(encode);
                 HttpURLConnection conn = (HttpURLConnection) url1.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;
                 handlers.sendMessage(message);

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

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

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

         }

     }.start();

     return str;

 }