簡單一行程式碼解決流讀取導致StringBuilder.toString()亂碼問題
阿新 • • 發佈:2019-02-01
今天做上傳功能程式碼讀取返回值得時候,StringBuilder.toString()出現亂碼的情況,在網上找了一堆亂七八糟的辦法,繁瑣不說,程式碼還好幾行,後來看到String類構造自己就有辦法解決這個問題,簡單一行程式碼搞定,在這裡記錄一下:
StringBuilder sb2 = new StringBuilder();
<span style="color:#ff0000;">String succeedStr = new String(sb2.toString().getBytes("iso8859-1"),"UTF-8");</span>
加上紅色那句程式碼,ok,解決!!! so easy, so beautiful !!!
下面貼出網上流傳的方法:
public String convertStreamToString(InputStream is) { BufferedReader reader = new BufferedReader(new InputStreamReader(is)<span style="color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 24px; background-color: rgb(245, 245, 245);">,"UTF-8"</span>); StringBuilder sb = new StringBuilder(); String line = null; try { while ((line = reader.readLine()) != null) { sb.append(line + "/n"); } } catch (IOException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } return sb.toString(); }
這麼多程式碼是要鬧哪樣?