NutzCN Logo
问答 读取文件乱码问题之三
发布于 3300天前 作者 qq_74967e40 1908 次浏览 复制 上一个帖子 下一个帖子
标签: 乱码

我使用相同的代码,相同的文件。
但是读取文件之后
在本机windows10 64b和服务器Win2003的解析结果不一样呢。
本机是ok的,Win2003是乱码。
我查过Win2003的默认编码是GBK
何解?

3 回复

-Dfile.encoding=UTF-8 无效?

来自炫酷的 NutzCN

@wendal 是的,两边命令一致,但是结果不一致。一边乱码一边不是

我自己解决了。。。
String myCharset = System.getProperty("file.encoding");
System.out.println("系统默认编码: "+myCharset );
然后

BufferedReader buf = new BufferedReader(new InputStreamReader(new FileInputStream(f), "GBK")); 
String str = null; 
while((str = buf.readLine()) != null){ 
    String l = new String(str.getBytes(),myCharset); //这里使用系统的默认charset解码就可以了
    System.out.println(l);//这里是正确的 
}
buf.close(); 
添加回复
请先登陆
回到顶部