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