前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java bufferedwriter 编码_BufferedWriter.write()写中文乱码的解决办法

java bufferedwriter 编码_BufferedWriter.write()写中文乱码的解决办法

作者头像
用户7886150
修改2021-04-08 11:05:49
2K0
修改2021-04-08 11:05:49
举报
文章被收录于专栏:bit哲学院

参考链接: Java BufferedWriter类

在用BufferedReader和BufferedWriter读写文件的过程中,发现写的文件中如果含有中文字符会有乱码的情况。

 假设想把http://www.baidu.com百度首页的内容替换为自己想自定义的内容,代码如下:

 /**

 * 通过网页URL获取源码

 * @param getUrl

 */

 public static void catchHtmlCode(String getUrl){

 String filePath = "D:/test/test.html";

 BufferedReader buffreader = null;

 BufferedWriter writer = null;

 try {

 URL u = new URL(getUrl);

 URLConnection connection = u.openConnection();

 InputStream inputStream = connection.getInputStream();

 buffreader = new BufferedReader(new InputStreamReader(inputStream, "utf-8"));

 StringBuffer buff = new StringBuffer();

 String line;

 while (null != (line = buffreader.readLine())) {

 buff.append(line);

 }

 String html = buff.toString();

 Document doc = Jsoup.parse(html);

 Element body = doc.body();

 Element div = body.select(".head_wrapper").first();

 /*替换指定的html标签内容*/

 div.html("

 我已将指定的html标签内容替换为空");

 writer = new BufferedWriter(new FileWriter(filePath, false));

 writer.write(doc.html());

 writer.flush();

 } catch (Exception e) {

 e.printStackTrace();

 }finally {

 FileUtils.closeStream(buffreader);

 FileUtils.closeStream(writer);

 }

 }

 当我们使用以下方式创建流时,可能会出现中文乱码,(程序断点查看获取到的中文字符没有乱码,是写完文件之后打开乱码,那就和具体生成文件默认打开编码设置有关)

 writer = new BufferedWriter(new FileWriter(filePath, false));

 所以我们可以在创建流的时候指定编码,如下:

 writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(filePath)),"utf-8"));

 这样就解决了乱码的问题。也可以设置为“GBK”等格式,看自己需求。

 运行结果:

 public static void main(String[] args) {

 catchHtmlCode("http://www.baidu.com");

 }

 原文作者技术博客:https://www.jianshu.com/u/ac4daaeecdfe

 95后前端妹子一枚,爱阅读,爱交友,将工作中遇到的问题记录在这里,希望给每一个看到的你能带来一点帮助。

 欢迎留言交流。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档