十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章将为大家详细讲解有关Android中如何读写文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
成都创新互联公司专注于企业营销型网站建设、网站重做改版、新罗网站定制设计、自适应品牌网站建设、HTML5建站、成都做商城网站、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为新罗等各大城市提供网站开发制作服务。
在Android中文件的I/O是存放在/data/data/
提示:Android是基于linux系统的,在linux的文件系统中不存在类似于Windows的磁盘分区现象,其是以一个正斜杠“/”开头。
在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
FileOutputStream:
public void write(byte[] b) throws IOException 该方法可将指定的字节数组写入文件输出流
FileInputStream:
public int read(byte[] b) throws IOException 从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。在某些输入可用之前,此方法将阻塞。
对于输出流直接使用write方法即可,可参考如下代码:
Java代码
/** * 写入数据 * @param fs * @param content */ public void fileWrite(FileOutputStream fos,String content){ byte[] contentcontentByteArray = content.getBytes(); try { fos.write(contentByteArray); } catch (IOException e1) { e1.printStackTrace(); } try {//关闭流 fos.close(); } catch (IOException e) { e.printStackTrace(); } }
对于输入流,出于性能考虑,可先使用ByteArrayOutputStream,向内存中创建一个字符数组,当将文件读完后,在读入,参考如下代码:
Java代码
* 读数据 * @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 数组输出流。
关于Android中如何读写文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。