【发布时间】:2010-08-05 12:27:24
【问题描述】:
谁能告诉我如何从二进制文件中获取 double 和 int 值。我已经尝试了很多,但它给了我错误的价值观。这是我的代码。
InputStream iStream = getApplicationContext().getResources().openRawResource(R.raw.map);
DataInputStream input;
input = new DataInputStream(iStream);
try {
double mapFileFormatVersionNumber, IntendedSoftwareVersion;
int DemoDays;
mapFileFormatVersionNumber =input.readDouble();
IntendedSoftwareVersion = input.readDouble();
DemoDays = input.readInt();
提前致谢。
【问题讨论】:
-
文件从何而来?格式是什么?
DataInputStream文档告诉您 expected 格式 - 但大概这不是您实际文件的格式... -
我在 RES 中创建了一个名为 Raw 的文件夹,并将我的文件放入其中。我的文件格式是.AMF(Anquet Map File)。
-
@sajjoo:您有该文件类型规范的链接吗?是否符合 DataInputStream 的预期格式?
-
其实我知道那个文件的规格。字符串、整数、双精度、浮点数在哪里?我都知道。而且我还在脑海中编写了具有该规范的代码。和字符串结果还可以,但双精度数和整数给了我错误的值。
-
它们可能具有不同的位长,它们可能具有不同的字节顺序等。请详细说明您的问题,不要让我们阅读以前的问题。总而言之,您希望美国帮助您,而不是相反。所以你应该尽我们所能,让我们更容易帮助你。