我想为我的报告创建一个
HTML文件.可以使用BufferedWriter#write(String)创建报表中的内容
File f = new File("source.htm"); BufferedWriter bw = new BufferedWriter(new FileWriter(f)); bw.write("Content");
或者使用DataOutputStream#writeBytes(String)
File f = new File("source.htm"); DataOutputStream dosReport = new DataOutputStream(new FileOutputStream(f)); dosReport.wrtiteBytes("Content");
解决方法
如果您正在写出文本,那么您应该使用Writer,它处理从unicode字符(Java的字符串内部表示)到适当的字符编码(如UTF-8)的转换. DataOutputStream.writeBytes只输出字符串中每个字符的低8位并完全忽略高位8位 – 这相当于代码低于128(U 007F及以下)的ASCII字符的UTF-8,但几乎可以肯定除了ASCII以外的任何东西
您应该使用OutputStreamWriter而不是FileWriter,因此您可以选择特定的编码(FileWriter始终使用平台的默认编码,该编码因平台而异):
File f = new File("source.htm"); BufferedWriter bw = new BufferedWriter( new OutputStreamWriter(new FileOutputStream(f),"UTF-8")); bw.write("Content");
原文地址:https://www.jb51.cc/java/127432.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。