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应用程序、分布式系统和嵌入式系统应用程序等。
-
超浪漫又温柔的表白文案 温柔的表白文案
1、你再也遇不到一个人这样爱你,我亦不会再这样爱一个人。2、在这什么都善变的人世间,我想和你看一看永远。3、如果你爱一个人,先要使自己现在或将来百分之百的值得他爱,至于他爱不爱...
句子查看全文>> -
五菱星辰是前驱还是后驱?
五菱星辰是前驱,前驱车和后驱车最大的不同就是驱动方式不同,前驱是拽着整车走,后驱是推着整车走。以五菱星辰2021款1.5T手动星动版为例,其车身结构为5门5座SUV,车身尺寸分...
问答查看全文>> -
新奇骏启动和停车步骤是什么?
新奇骏启动步骤:踩下刹车以后就开始自检并检测车内是否有智能钥匙,如果自检通过,按一下开关就可以启动了。踩下刹车,然后按一下一键启动开关,直接就可以启动了。停车步骤:不要踩刹车,...
问答查看全文>> -
月饼拆开了没吃完怎么保存 月饼拆了过夜了还能吃吗
我们都知道,月饼是很受欢迎的一种食物,它吃起来味道很不错,口味丰富,有甜的有咸的,有冰的也有热的等等,很多人都会在中秋节吃月饼。那么月饼拆了过夜了还能吃吗?月饼拆开了没吃完怎么...
品牌查看全文>> -
营运证过期处罚标准是什么?
营运证过期处罚标准:1、违反本条例的规定,客运经营者、货运经营者不按规定维护和检测运输车辆的,由县级以上道路运输管理机构责令改正,处1000元以上5000元以下的罚款;2、违反...
问答查看全文>>
推荐
- 12022小学国庆节活动方案109
- 2老款速腾的发动机号在哪个位置?197
- 3老爸80岁生日祝福语 父亲80岁生日祝词精选多篇374
- 4低调晒女儿的赞美话(低调晒女儿的赞美话和儿子的话发朋友圈)463
- 5描写姑娘漂亮的句子287
- 6众泰汽车t500是什么发动机?488
- 7俏皮一点的虎年春节拜年祝福语 新年幽默俏皮贺词2022156
- 8感应车钥匙电池用多久?443