0

我想将一组浮点数(可以说大约有 5000 个浮点数)存储到我的 sdcard 中。稍后我想将我的浮点文件放在我的资源应用程序上,以便新应用程序可以使用这些浮点数进行以后的处理。我可以这样做吗??有什么我可以用来这样做的例子吗?最好使用哪个文件扩展名?

谢谢!

4

2 回答 2

3

我对 Android 不是很熟悉,但是从 Java 的角度来看,你使用序列化和 ObjectOuputStream / ObjectInputStream 有意义吗?听起来这完全符合您的要求。一些相关的讨论可以在这里找到:

如何在java中序列化列表?

http://www.jguru.com/faq/view.jsp?EID=34789

于 2012-07-25T19:39:24.043 回答
0

首先,您需要向您的 AndroidManifest.xml 文件添加适当的权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

您还需要检查(在运行时)运行您的应用程序的设备是否有可用的外部存储:

String state = Environment.getExternalStorageState();
if(Environment.MEDIA_MOUNTED.equals(state))
{

  // Read / Write Access
  externalStorageAvailable = true;
  externalStorageWriteable = true;

}
else if(Environment.MEDIA_MOUNTED_READ_ONLY.equals(state))
{

  // Read Access
  externalStorageAvailable = true;
  externalStorageWriteable = false;

}
else
{

  // We cannot read / write
  externalStorageAvailable = false;
  externalStorageWriteable = false;

}

最后,您可以通过执行以下操作来编写文件...

FileOutputStream fileStream = null;
PrintStream printStream = null;
File file = new File(FILE_NAME);

try
{

  fileStream = new FileOutputStream(file);
  printStream = new PrintStream(fileStream);

  for (int i = 0; i < FLOAT_ARRAY_SIZE; i++)
  {

    printStream.print(FLOAT_DATA[i]);
    printStream.println();

  }

}
catch(Exception e)
{

  e.printStackTrace();

}
finally
{

  if(printStream != null)
  {

    printStream.close();

  }

}

如前所述,“.bin”或“.dat”扩展名是可以的。

于 2012-07-25T20:15:23.570 回答