我想将一组浮点数(可以说大约有 5000 个浮点数)存储到我的 sdcard 中。稍后我想将我的浮点文件放在我的资源应用程序上,以便新应用程序可以使用这些浮点数进行以后的处理。我可以这样做吗??有什么我可以用来这样做的例子吗?最好使用哪个文件扩展名?
谢谢!
我对 Android 不是很熟悉,但是从 Java 的角度来看,你使用序列化和 ObjectOuputStream / ObjectInputStream 有意义吗?听起来这完全符合您的要求。一些相关的讨论可以在这里找到:
首先,您需要向您的 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”扩展名是可以的。