「javaio乱码」java程序中文乱码

博主:adminadmin 2022-12-14 03:27:05 63

本篇文章给大家谈谈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程序中文乱码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-14,除非注明,否则均为首码项目网原创文章,转载请注明出处。