`
itlcx
  • 浏览: 774 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Android文件读写操作

 
阅读更多
Android使用FileInputStream和FileOutputStream进行文件I/O操作,以简化使用标准I/O的步骤。

   openFileInput(String name)方法:用于读取当前应用文件夹下的文件,并返回FileInputStream输入流。

   openFileOutput(String name,int mode)方法:用于向当前应用文件夹下输出文件,并返回FileOutputStream输出流。

值得注意的是:

1.两个方法仅支持操作当前Android应用程序文件夹下的文件,即应用的私有目录。这个私有目录位于Android系统的“/data/data/<应用程序报名>/”目录中。

2.只需要传入文件名(包括扩展名),不要带路径。

3.当创建文件时,如果指定的文件不存在,则Android会创建文件,而对于存在的文件,默认使用覆盖私有模式(Context.MODE_PRIVATE)对文件进行写操作;如果想让增量方式写入已存在文件,需要指定输出模式为Context.MODE_APPEND。

4.如果打算让其他应用访问输出的文件,可以设置输出模式为只读Context.MODE_WORLD_READABLE或可读写Context.MODE_WORLD_WRITEABLE。建议不让其它应用访问。

知道了这些信息,下面我们就来实际测试一下。

1、AndroidManifest.xml文件中加入:<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />,这句的目的是取得读写权限。

2、引用类:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import android.content.Context;

3、写入:
try { 
       FileOutputStream fos = openFileOutput("test.txt",Context.MODE_PRIVATE); 
       String content = "key=123";  //要写入的内容
       fos.write(content.getBytes()); 
       fos.close(); 
   } catch (Exception e) {
       e.printStackTrace(); 
   }


4、读取:
try { 
       FileInputStream fis; 
       fis = openFileInput("test.txt"); 
       byte[] buffer = new byte[1024]; 
       fis.read(buffer);  
       String fileContent =new String(buffer); //读到的值
      
   } catch (Exception e) {  
       e.printStackTrace(); 
   }

读取的代码建议写在函数里,意思明了,方便调用。
try语句不能省,否则编译出错。
用手机助手之类的软件来到data/data/目录,是看不到文件的,所以不要以为创建失败。只要能读取出来就行,其实看不到文件名正是开发者想要的结果。
来自:www.workneed.com

 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics