java获取html乱码_java读写html文件时出现中文乱码问题的解决方法

最近在做HTML静态生成,需要从硬盘上把模版文件的内容读出来。然后,替换相关标签写到指定的文件中。无论是读写,都遇到了中文乱码问题。试过多种方法,发现下面一种可以避免中文乱码。(无论读取还是写入一定要进行编码转换。)

1、JAVA读取文件,避免中文乱码。

/*** 读取文件内容

*

*@paramfilePathAndName

* String 如 c:\\1.txt 绝对路径

*@returnboolean*/

public staticString readFile(String filePathAndName) {

String fileContent= "";try{

File f= newFile(filePathAndName);if(f.isFile()&&f.exists()){

InputStreamReader read= new InputStreamReader(new FileInputStream(f),"UTF-8");

BufferedReader reader=newBufferedReader(read);

String line;while ((line = reader.readLine()) != null) {

fileContent+=line;

}

read.close();

}

}catch(Exception e) {

System.out.println("读取文件内容操作出错");

e.printStackTrace();

}returnfileContent;

}

2、JAVA写入文件,避免中文乱码。

public static voidwriteFile(String filePathAndName, String fileContent) {try{

File f= newFile(filePathAndName);if (!f.exists()) {

f.createNewFile();

}

OutputStreamWriter write= new OutputStreamWriter(new FileOutputStream(f),"UTF-8");

BufferedWriter writer=newBufferedWriter(write);//PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(filePathAndName)));//PrintWriter writer = new PrintWriter(new FileWriter(filePathAndName));

writer.write(fileContent);

writer.close();

}catch(Exception e) {

System.out.println("写文件内容操作出错");

e.printStackTrace();

}

}

若写入的时候用

1、PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(filePathAndName)));

2、PrintWriter writer = new PrintWriter(new FileWriter(filePathAndName));

都会出现错误,不行。

p.s. 我刚开始用上述方法的时候还是出先乱码,后来发现是因为我的html文件的编码方式是不是utf-8,改成utf-8即可。

查看一个文件的编码方式,一个简单的办法是:用记事本打开它,然后另存为一个副本文件,在“另存为”的页面下方,“保存”按钮前面,如下图所示,会出现原文件的编码方式。

如果不是UTF-8,把它改成UTF-8,保存即可。

gAAAAASUVORK5CYII=

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值