当我启动应用程序时,我将调用一个web服务并将该服务返回的文件保存到我的应用程序中。对于离线目的,我想在我的应用程序中有一个文件,以防web服务关闭。
我的问题是:我想用从web服务收到的文件覆盖我拥有的文件。我该怎么做呢?我应该将文件保存在哪里才能执行此任务?
我将收到的文件保存在内部存储器中,但脱机文件我不知道应该将其保存在哪里。有什么代码吗?适应症?这是个新手。
发布于 2013-04-19 14:37:26
我建议:
您应该使用getExternalStorageDirectory
将文件保存在应用程序的内部存储目录中,它会将您的文件放在以下位置:/Android/data/<package_name>/files/
。这是放置文件的最佳位置,因为当卸载应用程序时,此目录中的文件也将被删除。
更多信息请参阅:http://developer.android.com/guide/topics/data/data-storage.html#filesExternal和http://developer.android.com/training/basics/data-storage/files.html
发布于 2013-04-19 14:48:33
在android中,基本上有两个位置可以用来保存文件。用户和所有应用程序都可以访问的外部存储,或者专用于您的应用程序的私有目录。就您的目的而言,后者似乎更合适。
要操作私有存储中的文件,请参阅Context类中的openFileInput和openFileOutput (以及其他)方法。
保存示例:
FileOutputStream fos = context.openFileOutput("my-file", Context.MODE_PRIVATE);
fos.write(bytes);
fos.close();
加载示例:
File f = new File(context.getFilesDir(),"my-file");
if (f.exists()) {
byte[] bytes = new byte[(int)f.length()];
FileInputStream fis = context.openFileInput(f.getName());
fis.read(bytes);
fis.close();
}
https://stackoverflow.com/questions/16106460
复制相似问题