Android数据存储操作②文件存储

在android中使用openFileInput和openFileOutput读取设备上的文件,这两个方法只支持读取该应用目录下的文件,路径位于/data/data/<package name>/files目录中读取非其自身目录下的文件将会抛出异常。需要提醒的是,如果调用FileOutputStream 时指定的文件不存在,Android 会自动创建它。另外,在默认情况下,写入的时候会覆盖原文件内容,如果想把新写入的内容附加到原文件内容后,则可以指定其mode为Context.MODE_APPEND

1 String FILE_NAME = “tempfile.tmp”; // 确定要操作文件的文件名
2   FileOutputStream fos = openFileOutput(FILE_NAME, Context.MODE_PRIVATE); // 初始化
3   // Create a new file input stream.
4   FileInputStream fis = openFileInput(FILE_NAME); // 创建输入流,读取文件

如果希望文件具有多个权限,可以使用"+"连接,例如:

1 FileOutputStream fos = openFileOutput(FILE_NAME, Context.MODE_WORLD_READABLE +
2 Context.MODE_WORLD_WRITEBLE);
1 FileOutputStream fos = openFileOutput(FILE_NAME, Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);

一般将要读取的文件放在应用程序的/res/raw/下,如mydatafile.mp3。那么就可以在你的应用中使用getResources 获取资源后,以openRawResource 方法(不带后缀的资源文件名)打开这个文件,实现代码如下所示:

1 Resources myResources = getResources();
2 InputStream myFile = myResources.openRawResource(R.raw.myfilename);

你可能感兴趣的:(android)