解決讀取中文url路徑問題 Txt例子 阿新 • • 發佈:2018-12-21 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; }