readlong()返回错误的价值



i使用" datainputStream "的功能文件以" .txt"结尾。此文件已提前编辑。我想获得正确的值" 123456789",但答案是" 35444952156018063160"

DataInputStream di = new DataInputStream(new FileInputStream("E:\CMHI\LocalHost\src\t.txt"));
Long res = di.readLong();
System.out.println(res);
di.close();

来自DatainputStream的Javadoc

返回:

该输入流的接下来八个字节,被解释为长。

那不是您想要的,因为这是文本文件,而不是二进制文件。我建议使用Scanner读取此文件。它具有nextLong方法,它可以正是您要寻找的。

Scanner sc = new Scanner(new File("whatever.txt"));
System.out.println(sc.nextLong());

相关内容

  • 没有找到相关文章

最新更新