我使用名为“ readLong()”的“ DataInputStream ”功能从“.txt”读取文件末尾的值。此文件已提前编辑。我想得到正确的值“123456789”,但答案是“3544952156018063160”
DataInputStream di = new DataInputStream(new FileInputStream("E:\\CMHI\\LocalHost\\src\\t.txt"));
Long res = di.readLong();
System.out.println(res);
di.close();
答案 0 :(得分:2)
来自JavaDoc for DataInputStream
退货:
此输入流的后八个字节,解释为long。
这不是你想要的,因为这是一个文本文件,而不是二进制文件。我建议使用Scanner
来读取此文件。它有一个nextLong
方法,可以完全满足您的需求。
Scanner sc = new Scanner(new File("whatever.txt"));
System.out.println(sc.nextLong());