「javaio乱码」java程序中文乱码
本篇文章给大家谈谈javaio乱码,以及java程序中文乱码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java.io 写入之后,打开txt 数字乱码成acsii码
这是正常的,writeInt写数据底层使用的是位操作你可以把它当做字节读写方式,而acsii是字符读写的方式。所以你看data.txt会有乱码。就比如35 acsii看作是字符‘3’和字符‘5’,而使用writeInt就是各种移位操作最后是一个32位二进制int.望采纳
java io乱码
readChar读取的约定是 此输入流的下两个字节,将它们解释为一个 char。
下面是DataInputStream里readChar方法的源码是这样写的
public final char readChar() throws IOException {
int ch1 = in.read();
int ch2 = in.read();
if ((ch1 | ch2) 0)
throw new EOFException();
return (char)((ch1 8) + (ch2 0));
}
readByte是读取一个字节,然后你手工把他变为char
下面是DataInputStream里readByte方法的源码是这样写的
public final byte readByte() throws IOException {
int ch = in.read();
if (ch 0)
throw new EOFException();
return (byte)(ch);
}
所以一个是乱码一个不是,因为他们的约定不一样
API里已经有解释了,再看一下源码既更清楚
如果是读取文本,推荐使用java.io.Reader里的方法,例如:FileReader
java 文件IO 读取乱码问题
比较简单的做法,利用FileReader。参见代码:
测试文件: b.txt
IoTest.java
运行结果:
关于javaio乱码和java程序中文乱码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-14,除非注明,否则均为
原创文章,转载请注明出处。