当前位置:家常菜>百科>科技>正文

dataoutputstream乱码

人气:126 ℃/2025-01-07 19:11:05

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应用程序、分布式系统和嵌入式系统应用程序等。

  • iphone14充电怎么样 iphone14是什么充电口

    iPhone14系列还是非常多朋友们感兴趣的,作为一款高端智能旗舰机型,iphone14系列的配置这次也是很不错的升级,加上朋友们感兴趣的刘海屏的重新升级和设计,相信喜欢iph...

    品牌查看全文>>
  • 北京报考教师证的要求

    北京报考教师证的要求有哪些?接下来就来为大家介绍一下,一起来看看吧。1、需要年满18周岁而且未达到法定退休的成年人。2、学历要求报考不同层次的教师资格证对于学历要求也不一样。1...

    教育查看全文>>
  • 学驾照要多久

      考驾照最快要多久?相信这是许多学员学车前最关心的问题之一。在很多地方规定:通过科目一后,要20天后才可以考科目二,而科目二通过后,要10天后才可以考科目...

    问答查看全文>>
  • 别克昂科拉多少钱

    别克昂科拉官方指导售价区间为13.99-18.99万元,实际裸车成交价钱为10.99-15.99万元,终端经销商大多数有3万元以上的优惠幅度。别克昂科拉(encore)定位为小...

    问答查看全文>>
  • 疫情结束春暖花开朋友圈心情说说祝福语

    1、疫情结束,再无没有人间不值得,火锅值得、奶茶值得,串串值得、啤酒值得。2、愿疫情早点结束,祝春天和好消息如约而至。3、日子就这么静静流淌。在家怎么样都比在前线的医护人员幸福...

    说说查看全文>>
本网站部分内容、图文来自于网络,如有内容侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2007-2025 家常菜 All Rights Reserved. 手机版