1. 程式人生 > >簡單一行程式碼解決流讀取導致StringBuilder.toString()亂碼問題

簡單一行程式碼解決流讀取導致StringBuilder.toString()亂碼問題

今天做上傳功能程式碼讀取返回值得時候,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();
}

這麼多程式碼是要鬧哪樣?罵人