「javaio流乱码」javaio流代码
今天给各位分享javaio流乱码的知识,其中也会对javaio流代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
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
运行结果:
java问题,被IO流中文乱码搞晕了
你读取用utf-8,那如果你txt文本是用其它的编码方式肯定会出现乱码
你字节流一次读取一行,这样转化就不会出现一个字符的两个字节被分开读取并输出的状况,不会出现乱码
utf-8 是可变长编码,如果你程序选择的编码方式是定长编码方式,读取字符时肯定是会出现乱码
关于javaio流乱码和javaio流代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。