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());