虽然使用SharedPreferences存储方式的方法非常方便,但是这种方式的缺点也非常明显——只适合存储比较简单的数据。如果想在Android系统中存储更多的数据,有多种方法可供我们选择,例如本小节将要讲解的文件存储方式就是一种很好的选择。和传统的在Java中实现I/O的程序类似,在Android中,可以使用方法openFileInput()和方法openFileOutput()来读取设备上的文件,例如下面的代码。
在上述代码中,方法openFileInput()和方法openFileOutput()只能读取该应用目录下的文件,如果读取非其目录下的文件则会抛出异常。如果在调用FileOutputStream时指定的文件不存在,Android会自动创建它。并且在默认情况下,在写入的时候会覆盖原来文件的内容。如果想把新写入的内容附加到原文件内容之后,则可以指定其模式为Context.MODE_APPEND。在默认情况下,使用方法openFileOutput()创建的文件只能被其调用的应用程序使用,其他应用程序无法读取这个文件。如果需要在不同的应用中共享数据,可以使用Content Provider存储方式实现。
如果应用程序需要使用一些额外的资源文件,例如用于测试音乐播放器是否可以正常工作的MP3文件,我们可以将这些测试文件放在应用程序的/res/raw/目录下,例如命名为mydatafile.mp3。此时就可以在应用程序中使用getResources()方法获取资源,然后用openRawResource()方法(不带扩展名的资源文件名)打开这个文件,具体实现代码如下。(www.xing528.com)
除了使用方法openFileInput()和方法openFileOutput()读写文件外,在Android中还可以使用deleteFile()和fileList()等方法来操作文件。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。