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、汽车检测仪可以检测、诊断出...
问答查看全文>> -
苏东坡的偏方帮你治疗痔疮
痔疮是一种位于肛门部位的常见疾病,任何年龄段都可发玻在我国素有十男九痔&rdquo、&ldquo十女十痔&rdquo的说法。治疗痔疮的方法除了现代的手术外,我们来看看当年的苏东...
冷知识查看全文>> -
19款指南者怎么样价格?
19款指南者价格12.99-18.73万元,配置:1、英朗外观虽然漂亮,但是内饰还是一股子美国车味道,硬塑料充斥着全车,给不了人高挡的感觉。后期异响免不了。不过方向盘用料厚实,...
问答查看全文>> -
学校学生实习心得体会
学校学生实习心得体会怎么写呢?一起来看看小编今天的分享吧。学校学生实习心得体会可以从三个方面进行描写:1、首先可以描写作为学生在实习期间遇到的问题和解决办法;2、然后可以描写在...
教育查看全文>>
推荐
- 1后悔不已的爱情语录 有哲理的爱情语录368
- 2西湖龙井茶的优美诗句,字里行间倾吐豆香498
- 3滇红与大红袍的区别436
- 4凌渡方向盘锁死怎么办?205
- 5中华骏捷fsv二手车能买吗?497
- 6致宝贝女儿的经典语句 2022年给女儿一句很经典的话492
- 7心累孤单没人懂的说说 没人心疼没人懂的说说319
- 8爱心卡片上的祝福语149