首页 > 基础资料 博客日记

BufferedReader读取文件乱码(指定编码和JVM参数解决)

2023-04-23 19:13:29基础资料围观578

BufferedReader乱码的原因可能是文件编码格式与读取时指定的编码格式不一致。常见的编码格式有UTF-8、GBK等,当文件编码格式与读取时指定的编码格式不一致时,就会出现乱码。


解决方法有两种:


1. 将读取时指定的编码格式与文件的编码格式一致,可以通过使用InputStreamReader类并指定相应的编码格式进行解决,例如:BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));


2. 在创建BufferedReader对象时添加"-Dfile.encoding=UTF-8"参数,指定JVM执行时的编码格式为UTF-8,例如:java -Dfile.encoding=UTF-8 MainClass。


需要注意的是,在使用第二种解决方法时,若系统环境变量中已经指定了编码格式,则添加该参数可能无效。因此,建议采用第一种解决方法。


标签:

相关文章

本站推荐

标签云