dataoutputstream乱码, dataoutputstream出现乱码的原因是什么?不知道小伙伴们今天来看看边肖的分享吧!
Causes of garbled data output stream:
Java运行时环境(JRE)分为英文版和国际版。只有国际版支持非英语字符。如果计算机上安装了英文版,Java开发工具包(JDK)支持多语言字符。但是,如果没有安装JDK,直接使用压缩包会出现乱码。
注意:“Java源代码-Java字节码”,标准Java编译器javac使用的字符集是系统默认的字符集。
比如中文Windows操作系统上是GBK,Linux操作系统上是ISO-8859-1,那么Linux操作系统上开发者编译的类的源文件中的汉字就存在问题。
解决方法是在编译时添加编码参数,这样就可以独立于平台。用法是javac编码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应用程序、分布式系统和嵌入式系统应用程序。
dataoutputstream乱码,以上就是本文为您收集整理的dataoutputstream乱码最新内容,希望能帮到您!更多相关内容欢迎关注。