Android开发进阶:如何读写Androi“.NET研究”d文件
2011-10-20 21:57
656 查看
Android主要有四大主要组件组成:Activity、ContentProvider、Service、Intent组成。Android文件的运行主要需要读写四大组件的文件。本文将介绍如何读写Android文件,希望对正在进行Android开发的朋友有所帮助。
提示:Android是基于linux系统的,在linux的文件系统中不存在类似于Windows的磁盘分区现象,其是以一个正斜杠“/”开头。
顾名思义,通过如上方法就可以得到文件输入输出流。对于第二个方法中的mode,有如下四种模式:
◆Use 0 or MODE_PRIVATE( the default operation) :用0表示默认值,只能够创建文件的应用程序访问该文件,每次文件写入为覆盖方式。
◆MODE_APPEND to append to an existing file: 每次文件写入为追加方式,类似于StringBuffer中的append()方法。
◆MODE_WORLD_READABLE :只有读权限。
◆MODE_WORLD_WRITEABLE :只有写权限。
提示:如果想同时得到读与写的权限,则可以在mode处通过如下方式创建:
public void write(byte[] b) throws IOException 该方法可将指定的字节数组写入文件输出流
FileInputStream:
public int read(byte[] b) throws IOException 从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。在某些输入可用之前,此方法将阻塞。
对于输出流直接使用write方法即可,可参考如下代码:
Java代码
对于输入流,出于性能考虑,可先使用ByteArrayOutputStream,向内存中创建一个字符数组,当将文件读完后,在读入,参考如下代码:
Java代码
ByteArrayOutputStream:此类实现了一个输出流,其中的数据被写入一个 byte 数组。
public void write(byte[] b,int off,int len) 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此 byte 数组输出流。
可参考代码:FileIO 代码下载
文件存放位置
在Android中文件的I/O是存放在/data/data/<package name>/file/filename目录下。提示:Android是基于linux系统的,在linux的文件系统中不存在类似于Windows的磁盘分区现象,其是以一个正斜杠“/”开头。
Android中得到输入输出流
在Android中,对于流的操作十分简单。在Context类中有如下两个方法可以直接得到文件输入输出流:1. public FileInputStream openFileInput (String name) 2. public FileOutputStream openFileOutput (String name, 上海网站建设yle="color: #0000ff;">int mode)
顾名思义,通过如上方法就可以得到文件输入输出流。对于第二个方法中的mode,有如下四种模式:
◆Use 0 or MODE_PRIVATE( the default operation) :用0表示默认值,只能够创建文件的应用程序访问该文件,每次文件写入为覆盖方式。
◆MODE_APPEND to append to an existing file: 每次文件写入为追加方式,类似于StringBuffer中的append()方法。
◆MODE_WORLD_READABLE :只有读权限。
◆MODE_WORLD_WRITEABLE :只有写权限。
提示:如果想同时得到读与写的权限,则可以在mode处通过如下方式创建:
MODE_WORLD_READABLE+ MODE_WORLD_WRITEABLE
对于Java SE部分的补充
FileOutputStream:public void write(byte[] b) throws IOException 该方法可将指定的字节数组写入文件输出流
FileInputStream:
public int read(byte[] b) throws IOException 从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。在某些输入可用之前,此方法将阻塞。
对于输出流直接使用write方法即可,可参考如下代码:
Java代码
1. <span style="white-space: pre;"> </span>上海企业网站制作008000;">/** 2. * 写入数据 3. * @param fs 4. * @param content 5. */ 6. public void fileWrite(FileOutputStream fos,String content){ 7. byte[] contentcontentByteArray = content.getBytes(); 8. try { 9. fos.write(contentByteArray); 10. } catch (IOException e1) { 11. e1.printStackTrace(); 12. } 13. try {//关闭流 14. fos.close(); 15. } catch (IOException e) { 16. e.printStackTrace(); 上海徐汇企业网站制作">17. } 18. }
对于输入流,出于性能考虑,可先使用ByteArrayOutputStream,向内存中创建一个字符数组,当将文件读完后,在读入,参考如下代码:
Java代码
1. * 读数据 2. * @param fis 3. * @return 4上海徐汇企业网站设计与制作>. */ 5. public String fileRead(FileInputStream fis){ 6. ByteArrayOutputStream baos = new ByteArrayOutputStream(); 7. byte[] buffer = new byte[1024]; 8. int len = -1; 9. try { 10. while((len=(fis.read(buffer))) != -1){ 11. baos.write(buffer,上海企业网站设计与制作>0,len); 12. } 13. } catch (IOException e) { 14. e.printStackTrace(); 15. } 16. String result = new String(baos.toByteArray()); 17. //System.out.println(result); 18. try { 19. baos.close(); 20. fis.close(); 上海闵行企业网站设计与制作">21. } catch (IOException e) { 22. e.printStackTrace(); 23. } 24. return result; 25. }
ByteArrayOutputStream:此类实现了一个输出流,其中的数据被写入一个 byte 数组。
public void write(byte[] b,int off,int len) 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此 byte 数组输出流。
可参考代码:FileIO 代码下载
相关文章推荐
- Android开发进阶:如何读写Android文件
- Android开发进阶:如何读写Android文件
- Android开发之如何读写文件
- Android开发之如何读写文件 .
- Android开发之如何读写文件
- Android开发之如何读写文件
- Android开发之如何读写文件
- 在Android Eclipse 开发如何 使用 (*.aar)文件
- 网站开发进阶(三十一)js如何将html表格导出为excel文件(后记)
- android开发—如何获取内部储存中的文件路径
- Android开发如何进阶?(转载)
- Android开发5——文件读写 推荐
- android开发常用工具类 文件读写 手机号格式校验 有无网络判断
- Android开发中正确读写sdcard文件的方法
- Android开发进阶系列(五) 连接服务器下载文件或资源
- android 开发-文件存储之读写sdcard
- Android开发中关于文件读写的一个小问题
- [eclipse]android开发如何查看源代码文件(android source)
- android开发中资源文件和资源ID是如何映射的
- Eclipse开发Android应用程序入“.NET研究”门:重装上阵