Android开发进阶:如何读写Android文件

  • 时间:
  • 浏览:0

  在Android中文件的I/O是存放到/data/data/<package name>/file/filename目录下。

  提示:Android是基于linux系统的,在linux的文件系统中不居于类似Windows的磁盘分区现象,其是以有1个 正斜杠“/”开头。

  提示:机会想共同得到读与写的权限,则还能否在mode处通过如下办法 创建:

  public int read(byte[] b) throws IOException 从此输入流中将最多 b.length 个字节的数据读入有1个 byte 数组中。在某些输入可用时候,此办法 将阻塞。

  FileOutputStream:

  对于输入流,出于性能考虑,可先使用ByteArrayOutputStream,向内存中创建有1个 字符数组,当将文件读时候,在读入,参考如下代码:

  public void write(byte[] b,int off,int len) 将指定 byte 数组中从偏移量 off 时候刚开始了了的 len 个字节写入此 byte 数组输出流。

1. <span style="white-space: pre;"> </span>/**

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. }

  顾名思义,通过如上办法 就还能否得到文件输入输出流。对于第1个办法 中的mode,有如下两种 模式:

  ◆MODE_APPEND to append to an existing file: 每次文件写入为追加办法 ,类似StringBuffer中的append()办法 。

  Android主要有四大主要组件组成:Activity、ContentProvider、Service、Intent组成。Android文件的运行主要没办法读写四大组件的文件。本文将介绍怎么读写Android文件,希望对正在进行Android开发的大家 有所帮助。

  对于输出流直接使用write办法 即可,可参考如下代码:

  Java代码

  可参考代码:FileIO 代码下载

MODE_WORLD_READABLE+ MODE_WORLD_WRITEABLE

1. public FileInputStream openFileInput (String name)

2. public FileOutputStream openFileOutput (String name, int mode)

  ◆MODE_WORLD_READABLE  :没办法读权限。

  在Android中,对于流的操作十分简单。在Context类中有 如下有1个 办法 还能否直接得到文件输入输出流:

  public void write(byte[] b) throws IOException 该办法 可将指定的字节数组写入文件输出流

  ◆MODE_WORLD_WRITEABLE :没办法写权限。

  ByteArrayOutputStream:此类实现了有1个 输出流,其中的数据被写入有1个 byte 数组。

  ◆Use 0 or MODE_PRIVATE( the default operation) :用0表示默认值,没办法够创建文件的应用多多程序运行 访问该文件,每次文件写入为覆盖办法 。

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. }

  Java代码

  FileInputStream: