java – DataOutputStream#writeBytes(String)vs BufferedWriter
发布时间:2020-05-28 20:23:57 所属栏目:Java 来源:互联网
导读:我想为我的报告创建一个 HTML文件.可以使用BufferedWriter#write(String)创建报表中的内容 File f = new File(source.htm);BufferedWriter bw = new BufferedWriter(new FileWriter(f));bw.write(Content); 或者使用DataOutputStream#writeB
|
我想为我的报告创建一个 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"); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Java反射的恰当性
- java – 如何计算一组字符串的最短唯一前缀?
- 详解spring boot 以jar的方式启动常用shell脚本
- java – Elasticsearch使用JEST API扫描和滚动
- 使用Javamail API和IMAP批量获取邮件正文
- java – 在ConcurrentHashMap.computeIfAbsent和Concurrent
- Kotlin Coroutines执行异步加载示例详解
- ClassFormatError:在类文件中不是本机或抽象的方法中的缺席
- java – Lombok @Getter和Collections的副本
- java – viewpager完成后调用actvity
