dataoutputstream乱码
dataoutputstream乱码是什么原因呢?不知道的小伙伴来看看小编今天的分享吧!
dataoutputstream乱码的原因:
Java运行环境(JRE)分英文版和国际版,只有国际版才支持非英文字符,如果电脑上装的是英文版,Java开发工具包(JDK)就支持多国字符,但是如果没有按装JDK,直接用压缩包就会出现乱码。
注意:“ Java 源代码-> Java 字节码”,标准的 Java 编译器 javac 使用的字符集是系统默认的字符集,比如在中文 Windows 操作系统上就是 GBK ,而在 Linux 操作系统上就是ISO-8859-1,所以开发人员在 Linux 操作系统上编译的类中源文件中的中文字符都出了问题,解决的办法就是在编译的时候添加 encoding 参数,这样才能够与平台无关,用法是 javac –encoding 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应用程序、分布式系统和嵌入式系统应用程序等。
-
六月你好的正能量句子 12月你好正能量句子
1、后来我才知道,她并不是我的花,我只是恰好途经了她的盛放。2、五月再见,不过不失就这样过去了,潇洒转身,不留一丝遗憾;六月你好,接着做应该做好的事,对得起自己,不留半点后悔。...
句子查看全文>> -
报废车上路被交警查到怎么办?
报废车上路被交警查到的解决方法就是接受处罚,处罚标准如下:1、报废车上路行驶的,处二百元以上二千元以下罚款,并吊销机动车驾驶证。“已达到报废标准的机动车”,包括国务院《报废汽车...
问答查看全文>> -
空间祝福语2021年
1、有一种思念让天涯。一觉醒来好想你,随手发去短信息,几天没见可好吗,祝你天天好心情。2、神说,所谓幸福是有一颗感恩的心,一个健康的身体,一份称心的工作,一位深爱你的爱人,一帮...
语录查看全文>> -
感冒了的文案(感冒的文案朋友圈)
1、我情绪低落,闷闷不乐,心情莫名的烦,这估计就是心里感冒了吧。2、从现在开始,好好活着,每一天。3、你有一万种功能,你可以征服世界,甚至改变人种,你没有健康,只能是空谈。4、...
句子查看全文>> -
汽车电瓶免维护充电需要把电瓶卸下来吗?
汽车电瓶免维护充电无需把电瓶卸下来的,日常生活中要注意:1、避免长时间把汽车停放在在露天停车场,如长期停放,须拆下蓄电池带走,以防蓄电池结冰损坏;2、汽车引擎在冬天不易启动,每...
问答查看全文>>
推荐
- 1车辆违章扣分可以在网上办理吗?419
- 2x1宝马新能源油耗怎么样?453
- 346141违章代码怎么解决,46141违章代码是什么意思?286
- 4七夕暖心情话短句135
- 5茵芙莎角质清理液用法 ipsa角质清理液可以每天用吗172
- 6雷克萨斯涨价之前合同有效吗?422
- 7vivox80语音唤醒在哪 vivox80语音唤醒设置321
- 8古典的好听的女孩名458