java 为什么输出的是乱码?

import java.io.DataOutputStream;
import java.io.FileOutputStream;

public class dataint {

public static void main(String[] args) throws Exception{

FileOutputStream fos = new FileOutputStream("f:/911.txt");
int a[] = {1,2,3,4,5};
DataOutputStream dos = new DataOutputStream(fos);
for(int i=0;i<a.length;i++){
dos.writeInt(a[i]);
}
dos.close();

}

}
将整型数组写入到文件中为什么打开文件都是乱码?

第1个回答  2010-07-11
DataOutputStream是写数据的(binary文件),不是写文本的。写文本用FileWriter类。另一种方便的方法是用PrintStream类
PrintStream dos = null;
dos = new PrintStream(new FileOutputStream(fos));

for(int i=0;i<a.length;i++)
{
dos.print(a[i]);
}
dos.close();

PrintStream具体用法可以参考《Java语言程序设计基础篇》
Y.Daniel Liang著。
第2个回答  推荐于2016-02-06
1、struts.xml配置文件中没有设置国际字符编码集
2、jsp页面没有设置字符编码集
3、数据库中没有设置字符编码集
4、单个可以使用new String(str.getBytes("ISO-8859-1"),"UTF-8");来进行转换
第3个回答  2015-09-01
不明白楼主是指的哪个输出,如果是前台传给后台为乱码,可使用request.setCharacterEncoding("UTF-8");统一为utf-8编码,如果是后台回应前台为乱码,则使用response.setCharacterEncoding("UTF-8");
总之,一切乱码都是编码不统一造成的,一般我们习惯统一为utf-8
第4个回答  2015-08-23
编码格式不对,设置编码格式为gbk或者UTF-8
第5个回答  2010-07-18
public final void writeInt(int v) throws IOException {
out.write((v >>> 24) & 0xFF);
out.write((v >>> 16) & 0xFF);
out.write((v >>> 8) & 0xFF);
out.write((v >>> 0) & 0xFF);
incCount(4);
}

这个是DataOutputStream的writeInt(int v)的实现,从这里,我们可以知道,java是以二进制把int写到文件里的,writeUTF()可以帮到你

为什么java中的中文乱码了?
这是Java文件的编码导致的问题,通常使用javacFirstSample.java编译UTF-8编码的.java源文件。没有指定编码参数encoding的情况下,默认使用的是GBK编码 当编译器用GBK编码来编译UTF-8文件时,就会把UTF-8编码文件的3个字节的文件头,按照GBK中汉字占2字节、英文占1字节的特性解码成了“乱码”的两个汉字。

java 控制台输出%3D%C3%A9%C2%……是什么原因,乱码还是?
Java 控制台输出 %3D%C3%A9%C2%... 等乱码是因为输出的内容经过了 URL 编码,而控制台解析时无法正确处理这些编码,导致显示为乱码。URL 编码是一种将 URL 中的非 ASCII 字符转换为特殊格式的编码方式,以便于在网络上传输和处理。例如 %3D 表示 =,%C3%A9 表示 é 等。要解决这个问题,可以...

Java在CMD中乱码的问题解决
乱码通常源于字符编码不匹配。Windows系统默认用GBK,而Java默认用UTF-8。当两者不一致时,输出会出现混乱。这不仅影响程序输出的可读性,还给开发带来困扰。解决方法1. 临时解决方案:通过改变CMD的当前编码 首先,输入`chcp 936`切换到GBK编码,适用于Windows中文显示,但仅限当前CMD窗口。或者,输入`chcp...

java打印中文乱码?
java控制台中文输出乱码,已经注意文件格式和控制台格式了?不要用系统写字板notepad保存UTF8的Java源文件。M$的UTF8是UTF8withBOM,而Java编译器识别的UTF8是UTF8withoutBOM,两者不兼容。eclipse中java中文控制台输出的这种乱码解决方式:(1)打开eclipse或myeclipse,点击run-》runconfigurations如图提示,改...

JAVA 乱码 根本原因是什么
java出现乱码的原因是 1..java 文件中的编码格式和命令提示符的指令不一致导致的 比如.java 使用的是utf-8,windows环境下命令提示符编码是gbk,在使用javac 命令进行对.java文件进行编译的时候,.java文件中的中文字符就会出现 乱码.出现这样的情况,处理方式是通过现在编译编码-encoding 处理 javac -...

java中文输出结果时是一段不认识的字
是因为java中文输出的时候,出现了乱码。安装和设置字库、设置语言环境变量即可恢复。

eclipseJava中文输出乱码是什么原因?
eclipseJava中文输出乱码的原因可能是字符编码与默认的编码不符合导致的。可以尝试以下方法解决:1.修改Eclipse编码设置:点击Eclipse菜单栏的"Window",选择"Preferences";在弹出的窗口中,找到"General"->"Workspace";在右侧的"Textfileencoding"选项中选择合适的编码,比如UTF-8;点击"ApplyandClose"按钮...

自己机器上的java中文显示乱码。
或者UTF-8就好了,传输出去的代码也用相同的就好了。由于JAVA虚拟机会使用操作系统默认编码来解析字符串,不同操作系统默认编码不同的,所以会出现乱码,程序只要转换处理下就好了。使用System.getProperty("file.encoding");获取系统默认编码查看下,就知道原因了,windows默认是GBK,llinux默认是UTF-8。

Java 中下载的文件会出现乱码是为什么?
下载文件时出现乱码的原因主要在于文件编码格式与接收端的默认编码格式不匹配。Java系统默认使用UTF-8编码格式处理文件,而部分文件可能使用GBK、GB2312、ISO8859-1等其他编码格式。当下载文件编码格式与接收端格式不一致时,便会导致乱码现象。解决乱码问题的策略在于下载文件时明确指定字符编码格式。通过设置...

java数组输出后是乱码为什么
你输出得超出数组范围了~比如定义了A[10] 长度为10得数组A[0]-A[9]是这10个~你输出了A[10]就是超出范围~显示得就是他得引用~也就是乱码~

相似回答