我试图使用Java命令针对随机文件IO编写Long,如下所示:

fstreamOut = new FileOutputStream(new File("C:\\Basmah","dataOutput.7"),true);
DataOutputStream out=new DataOutputStream(fstreamOut);
Long p= Long.parseLong(longNumberInString );  // Number of digits for this long key are 7-15
              out.writeLong(p);


问题是当我使用writeLong写7-15位数字时;它在文件中写入8个字节。
然后我试图将相同的记录读入我的程序并将其解码

Long l=in.readLong();


但是我没有得到我写的相同的数字;相反,我得到EOF异常。

最佳答案

长ID 64位长。这使8个字节。 DataOutputStream的writeLong方法写入long的二进制表示形式,而不是文本形式的表示形式。
如果不知道用于读取long值的代码,就无法说出为什么它不起作用。

10-06 12:57