2017-06-22 117 views
-4

我用 “DataInputStream所” 的所谓 “readLong()” 的功能,从名为 “.txt” 文件末尾读值。该文件已预先编辑。我要得到正确的值 “123456789”,但得到的答复是 “3544952156018063160”readLong()返回错误值

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

请张贴实际的代码而不是图片 –

+0

您正在阅读一个带有“123456789”的文本文件。 – saka1029

+0

请将实际的代码与文件内容一起,以便轻松解决您的问题。 –

回答

2

从JavaDoc,以DataInputStream所

返回:

下八个字节的这输入流,解释为一长串。

这不是你想要的,因为这是一个文本文件,而不是二进制文件。我会建议使用Scanner来阅读这个文件。它有一个nextLong方法,它完全符合你的要求。

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