`
158067568
  • 浏览: 329077 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android中文件IO

阅读更多

 

Android中文件的读写

作者:LEGEND

qq158067568

关于Android中文件的读写

文件存放位置

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

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

Android中得到输入输出流

Android中,对于流的操作十分简单。在Context类中有如下两个方法可以直接得到文件输入输出流:

 

public FileInputStream   openFileInput  (String name)

public FileOutputStream   openFileOutput  (String name, 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

对于SE部分的补充

 

FileOutputStream

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

FileInputStream

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

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

 

 

	/**
          * 写入数据
          * @param fs
          * @param content
          */
         public void fileWrite(FileOutputStream fos,String content){
                   byte[] contentByteArray = content.getBytes();
                   try {
                            fos.write(contentByteArray);
                   } catch (IOException e1) {
                            e1.printStackTrace();
                   }
                   try {//关闭流
                            fos.close();
                   } catch (IOException e) {
                            e.printStackTrace();
                   }
         }
 

 

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

        /**

          * 读数据
          * @param fis
          * @return
          */
         public String fileRead(FileInputStream fis){
                   ByteArrayOutputStream baos = new ByteArrayOutputStream();
                   byte[] buffer = new byte[1024];
                   int len = -1;
                   try {
                            while((len=(fis.read(buffer))) != -1){
                                     baos.write(buffer,0,len);
                            }
                   } catch (IOException e) {
                            e.printStackTrace();
                   }
                   String result = new String(baos.toByteArray());
//System.out.println(result);                
                   try {
                            baos.close();
                            fis.close();
                   } catch (IOException e) {
                            e.printStackTrace();
                   }
                   return result;
         }
 

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

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

可参考代码:FileIO

 

 

 

 

3
2
分享到:
评论

相关推荐

    Android文件IO操作

    ### Android文件IO操作详解 在Android开发中,文件的输入输出(IO)操作是不可或缺的一部分,它涉及到数据的存储与读取,对于应用程序的数据持久化至关重要。本文将深入解析Android中的IO操作,涵盖基本概念、常见...

    Android 文件IO操作

    总之,Android文件IO操作是应用程序开发中不可或缺的部分,理解和掌握这些知识点对于开发高效、稳定且用户友好的应用至关重要。通过合理的文件管理,不仅可以优化性能,还能确保数据的安全性和可靠性。

    android的IO流读写文件demo.zip_DEMO_android_android的IO流读写文件操作

    本文将深入探讨Android中如何利用IO流进行文件的读写操作,以及相关的示例代码。 首先,Android中的IO流主要包括字节流(Byte Stream)和字符流(Character Stream),它们都是Java IO体系的一部分。字节流处理单个...

    文件流IO,android文件流

    三、Android文件流 1. Android中,由于安全和权限问题,文件操作通常需要在特定的上下文中进行,例如在Activity或Service中。使用Context的openFileInput()和openFileOutput()方法可以方便地读写内部存储的文件。 ...

    五,Android文件IO详解

    总的来说,Android文件I/O涵盖了很多方面,从基础的文件操作到高级的存储策略,都需要开发者根据实际需求灵活运用。理解这些知识点,能帮助我们更好地管理和操作Android设备上的文件,提高应用的稳定性和用户体验。

    android direct IO.rar

    在Android系统中,直接I/O(Direct IO)是一种优化数据传输效率的技术,它允许应用程序绕过操作系统的缓冲区,直接与磁盘设备进行交互。这种技术对于需要高性能、低延迟的场景,如数据库、文件系统或者媒体处理等,...

    uniapp文件选择(android)

    【标题】"uniapp文件选择(android)"涉及到的知识点主要集中在uniAPP框架以及Android系统的文件操作上,特别是如何在uniAPP中实现Android平台的文件选择功能。uniAPP是一个使用Vue.js开发的所有端应用的统一框架,它...

    五,Android文件IO详解.doc

    以下是一些关于Android文件IO的关键知识点: 1. **Java IO流的概念**: Java IO流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。字节流处理单字节的数据,如InputStream和OutputStream是字节流...

    android io 下载图片

    `Android IO`在这里指的是Android中的输入/输出操作,用于处理文件、网络数据等。本篇文章将详细探讨如何利用Android的IO机制来下载并显示图片。 首先,我们需要了解Android的网络请求库,如`HttpURLConnection`、`...

    Android安卓使用iosocket进行Socket通信简单封装优雅写代码

    通过以上方式,我们已经实现了`io.socket`在Android中的简单封装,使得在进行Socket通信时代码更加优雅,迭代开发也变得更加方便。遵循这种编程习惯,不仅可以提高代码质量,还能为团队协作带来诸多便利。

    Android的文件存储

    Android的文件操作都是通过流的方式进行的,即IO。Android的文件操作跟Java是一样的,文件操作分为输入流(InputStream)和输出流(OutputStream),输入流用于获取文件数据,输出流用于存储文件。 详细介绍请参考...

    android文件系统浏览器

    总的来说,Android文件系统浏览器是Android应用开发中的一个重要工具,它通过提供直观的界面和便捷的操作,帮助用户更好地管理和利用设备的存储空间。开发者在实现这一功能时,需要关注权限控制、文件操作以及用户...

    Android 多文件下载进度条

    在Android开发中,实现多文件下载并展示...综上所述,实现Android多文件下载并显示进度条涉及了网络请求、多线程、文件IO、数据持久化、UI更新、错误处理等多个技术点。合理的设计和实现可以提供流畅且可靠的下载体验。

    android 数据IO流实例

    在Android中,IO流主要用于文件的读写,例如保存应用程序中的数据,如用户配置、游戏进度、图片或音频文件等。以下是一些关键的IO流类及其在Android中的应用: 1. **FileInputStream** 和 **FileOutputStream**:这...

    FileIO.rar_FileIo_andriod driver_android_android 文件_android 读

    总的来说,Android文件操作涵盖了基本的Java I/O操作,以及针对移动设备特性的高级API。理解这些概念对于开发Android应用至关重要,特别是在处理数据存储和交换时。同时,对驱动程序的理解有助于优化系统的性能和...

    Android IO

    在Android系统中,I/O(Input/Output)操作是应用程序与设备之间交换数据的基础。Android提供了多种I/O机制,使得开发者能够有效地读写文件、处理流数据以及与网络通信。以下将详细介绍Android I/O操作的相关知识点...

    Android 文件上传Demo

    在Android平台上,文件...以上内容是关于Android文件上传的基本原理和步骤,实际应用中可能还需要根据业务需求进行定制化开发,如添加身份验证、权限控制等。如果你对附件中的代码有任何疑问,可以进一步研究和学习。

    android 更新文件

    在Android开发中,更新文件是一项常见的任务,尤其对于那些包含大量动态内容的应用,如游戏、新闻阅读器或者在线教育应用。"android 更新文件"这个主题主要涉及到如何在Android应用程序中有效地管理和更新资源文件,...

    Android对IO进行读写操作实例

    在Android开发中,I/O(Input/Output)操作是至关重要的,它涉及到应用程序与外部存储设备如文件系统、网络或内存等之间的数据交互。本文将深入探讨如何在Android平台上进行文件的读写操作,帮助开发者理解和实践...

    Android 下载文件Demo

    在Java和Android中,输入输出流(IO流)是处理数据传输的核心工具,主要分为字节流和字符流两大类。字节流处理二进制数据,如图片、音频、视频以及各种文件;而字符流则处理基于字符的数据,如文本。 1. 字节流与...

Global site tag (gtag.js) - Google Analytics