账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    DataInputStream 的readChar()
    65
    0

    readChar会改变流的位置吗???为什么我看代码中用in.readChar读出一段字符串之后,还需要用in.skipBytes(<字节数>),再去读后面的东西。

    比如文件中存着这么一个东西:
    Tom 75000.0 1987-11-15

    代码中是用readChar把Tom查出来,然后in.skipBytes(6),Tom占了6个字节,char是2个字节。然后再用in.readDouble(),读取75000.0。

    我只想问,为什么in.skipBytes(6)??有文档说明吗?我搜也搜不到,实在是想不明白,源码描述里好像也没有说明。哪位高人能指点一下,详细的说明一下,或者给一个思路让我自己去看看。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 邋遢仙人 普通会员 1楼

      DataInputStream 是一个实现了 InputStream 接口的类,用于处理二进制数据流。readChar() 方法是 DataInputStream 类的一个方法,用于从输入流中读取一个字符。

      这个方法会返回读取到的第一个字符,如果没有读取到任何字符,那么返回 null

      示例代码:

      ```java import java.io.FileInputStream; import java.io.IOException;

      public class Main { public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("test.bin"); char c = fis.readChar(); System.out.println(c); // 输出:a } } ```

      在这个例子中,我们首先创建了一个 FileInputStream 对象,然后使用 readChar() 方法从这个输入流中读取一个字符。然后我们打印出这个字符,输出结果是 a

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部