dataoutputstream乱码
dataoutputstream乱码是什么原因呢?不知道的小伙伴来看看推火网小编今天的分享吧!
dataoutputstream乱码的原因
Java运行环境(JRE)分英文版和国际版,只有国际版才支持非英文字符,如果电脑上装的是英文版,Java开发工具包(JDK)就支持多国字符,如果没有按装JDK,直接用压缩包就会出现乱码。
注意“ Java 源代码-> Java 字节码”,标准的 Java 编译器 javac 使用的字符集是系统默认的字符集,比如在中文 Wdows 操作系统上就是 GBK ,而在 Lux 操作系统上就是ISO-8859-1,所以开发人员在 Lux 操作系统上编译的类中源文件中的中文字符都出了问题,解决的办法就是在编译的时候添加 encodg 参数,这样才能够与平台无关,用法是 javac –encodg GBK。
dataoutputstream乱码的解决办法
使用FileOutputStream序列化可以直接向文件写入文本内容,代码如下
FileOutputStream outStream = new FileOutputStream(file);
outStream.write(str.getBytes());
outStream.close();
但这里的字符串如果包含中文,就会出现乱码,这是因为FileOutputStream是字节流,将文本按字节写入文件,而一个汉字是两个字节,无法一次写入,就会出现乱码,解决方法是使用OutputStreamWriter将字节流转换为字符流写入,指定utf-8编码。代码如下
OutputStreamWriter oStreamWriter = new OutputStreamWriter(new FileOutputStream(file), "utf-8");
oStreamWriter.append(str);
oStreamWriter.close();
拓展资料
Java
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
以上就是推火网小编今天的分享了,希望可以帮助到大家。
生活知识
- 微信零钱被司法冻结怎么解决 微信零钱被限制使
- 华为手机的营销软文 华为手机软文营销推广
- 海外服务器租用的价格 海外服务器租用的价格高
- 市场营销实习报告 市场营销实习的核心要素
- 微信客服电话人工服务24小时 怎么找微信客服电
- 软文街:软文街登录平台有哪些
- 营销策划公司:营销策划公司有哪些
- 微信公众号平台:微信公众平台登录入口
- 软文写作:实用的软文写作技巧
- 微信支付密码在哪里修改 怎么修改微信支付密码
- 营销模式:营销模式分析
- 微信视频美颜怎么设置 oppo手机微信视频美颜设置
- 营销案例:深入剖析三个经典营销案例
- 软文平台:软文平台哪家好
- 微信拍一拍功能在哪里设置 手机微信拍一拍功能
- 市场营销专业就业方向 市场营销专业就业方向及