newBufferedReader读取文件中文错误

开源中国首席颈椎砖家 发布于 2015/06/12 17:37
阅读 633
收藏 0

 try(BufferedReader reader=Files.newBufferedReader(logFile, StandardCharsets.UTF_8)){
             String line;
             while((line=reader.readLine())!=null){
                 System.out.println(line);
             }
         }
java.nio.charset.MalformedInputException: Input length = 1

我知道是中文影响,怎么解决

加载中
1
如比如比
如比如比

这样作如何?

        BufferedReader reader = null;
try {
    reader = Files.newBufferedReader(logFile, Charset.forName("GB2312"));
} catch (Exception e) {
    try {
        reader = Files.newBufferedReader(logFile, Charset.forName("GBK"));
    } catch (Exception e2) {
        try {
            reader = Files.newBufferedReader(logFile, Charset.forName("GB18030"));
        } catch (Exception e3) {
            reader = Files.newBufferedReader(logFile, Charset.forName("UTF8"));
        }
    }
}
if (reader != null) {
    String line;
    while((line=reader.readLine())!=null) {
        System.out.println(line);
    }
}

0
如比如比
如比如比
解决了么?
如比如比
如比如比
回复 @景晨 : 哦,原来是这样的啊。
开源中国首席颈椎砖家
开源中国首席颈椎砖家
解决了,狗逼第三方编码是gbk的,utf8改为gbk即可
返回顶部
顶部