dataoutputstream乱码是什么原因呢? 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应用程序、分布式系统和嵌入式系统应用程序 。
以上是小编今天的分享 。我希望它能帮助你 。
【dataoutputstream乱码是什么原因呢? dataoutputstream乱码】