【Android】File存储

Context提供了两个方法openFileOutput和openFileInput。
方法可以打开本应用程序的数据文件夹的文件I/O流。

操作方法

  • 01

    FileInputStream  openFileInput(String name): 打开应用程序的数据文件夹下的name文件对应输入流。 FileOutputStream openFileOutput(String name,int mode): 打开应用程序的数据文件夹下的name文件对应输出流。

openFileOutput(String name,int mode)中mode的几种模式

  • 01

    MODE_PRIVATE:该文件只能被当前程序读写。 MODE_APPEND:以追加方式打开该文件, 应用程序可以向该文件中追加内容。 MODE_WORLD_READABLE:该文件的内容可以被其他程序读、写。 MODE_WORLD_WRITEABLE:该文件的内容可由其他程序读、写。

  • 02

    Content上下文提供了几个方法来访问应用程序的数据文件夹。 getDir(String name,int mode):在应用程序的数据文件夹下获取或者创建 name对应的子目录 File getFilesDir():获取该应用程序的数据文件夹的绝对路径。 String[] fileList():返回该应用程序的数据文件夹下的全部文件。 deleteFile(String):删除该应用程序的数据文件夹下的指定文件。

  • 03

    这里以一个例子来说明 项目结构如下

  • 04

    布局文件如图 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <EditText android:id="@+id/edit1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:lines="4"/> <Button android:id="@+id/write" android:layout_width="wrap_content" android:layout_height="wrap_content"  android:text="@string/write"/> <EditText android:id="@+id/edit2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false" android:cursorVisible="false" android:lines="4"/> <Button android:id="@+id/read" android:layout_width="wrap_content" android:layout_height="wrap_content"  android:text="@string/read"/> </LinearLayout>

  • 05

    页面实现代码结构

  • 06

    页面实现代码onCreate @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); System.out.println(new StringBuilder("a").append("b").append("c")   .toString()); // 获取两个按钮 Button read = (Button) findViewById(R.id.read); Button write = (Button) findViewById(R.id.write); // 获取两个文本框 final EditText edit1 = (EditText) findViewById(R.id.edit1); final EditText edit2 = (EditText) findViewById(R.id.edit2); // 为write按钮绑定事件监听器 write.setOnClickListener(new OnClickListener()  { @Override public void onClick(View source)   { // 将edit1中的内容写入文件中 write(edit1.getText().toString()); edit1.setText(""); } }); read.setOnClickListener(new OnClickListener()  { @Override public void onClick(View v)   { // 读取指定文件中的内容,并显示出来 edit2.setText(read()); } }); }

  • 07

    read()读取方法 private String read() { try  { // 打开文件输入流 FileInputStream fis = openFileInput(FILE_NAME); byte[] buff = new byte[1024]; int hasRead = 0; StringBuilder sb = new StringBuilder(""); // 读取文件内容 while ((hasRead = fis.read(buff)) > 0)   { sb.append(new String(buff, 0, hasRead)); } // 关闭文件输入流 fis.close(); return sb.toString(); } catch (Exception e)  { e.printStackTrace(); } return null; }

  • 08

    write(String content)写入方法 private void write(String content) { try  { // 以追加模式打开文件输出流 FileOutputStream fos = openFileOutput(FILE_NAME, MODE_APPEND); // 将FileOutputStream包装成PrintStream PrintStream ps = new PrintStream(fos); // 输出文件内容 ps.println(content); // 关闭文件输出流 ps.close(); } catch (Exception e)  { e.printStackTrace(); } }

(0)

相关推荐

  • Android File Transfer中文版;安卓文件传输工具

    Android File Transfer中文带给大家,非常强悍的安卓文件传输工具,解决您想传输到mac电脑文件的难题,只需要在连接手机前运行 Android File Transfer ,再连接手机 ...

  • Android安卓设备连接Mac的方法

    平时大家用到最多的就是安卓手机和苹果电脑互连,由于安卓系统应用广泛,很多平板电脑还有电视都在用安卓的系统,下面是我们整理的安卓连接MAC电脑的方法. 一.使用第三方的链接软件 现在很多第三方的应用软件 ...

  • 如何使用谷歌存储硬盘

    谷歌存储硬盘(Google Drive)是谷歌对Dropbox 的挑战- 一个连接你的谷歌帐户,通过互联网访问的文件存储系统,你可以从几乎任何设备去访问你的文件.谷歌存储硬盘目前可用于微软的Windo ...

  • 如何从手机发送图片到电脑

    本文会详细说明如何将iPhone或安卓手机里的照片传输到Windows或Mac电脑.你可以使用充电线,或者通过Google云端硬盘将照片发送到电脑. 发送到Windows电脑 01 将手机连接到电脑. ...

  • mac系统中如何连接安卓手机?安卓手机连接mac方法介绍

    对于大多数安卓用户来说,连接到WIndows的方法非常的简单,但是如果你想连接到MAC电脑就没有那么容易了,需要下载一些辅助工具才行,以下就是图文教程 第一步:百度搜索Android File Tra ...

  • 安卓设备连接Mac的三种简单方法

    mac设备是苹果出品的桌面系统,以高冷而闻名,不同于我们平常使用的windows系统,mac系统对软件硬件的兼容性很差,比如我们常用的豌豆荚.应用宝.360助手就不能直接支持安卓手机连接mac系统,然 ...

  • 鲜为人知的安卓手十大机隐藏功能

    尽管安卓手机没有苹果IOS手机出色出名,但安卓系统作为开源系统,融合于众多知名品牌手机当中,这也令安卓手机不像苹果那样单调,并且安卓手机是全球使用用户最多的,不过即便如此,很多朋友对于安卓手机其功能也 ...

  • 如何在安卓系统上下载视频

    在安卓设备上,在线观看视频,在忙碌的时候很方便.不过也会给你的流量造成一定压力,若信号中断,则下载和观看就中断了.但如果你下载下来,就可以随时查看.下面介绍如何做. 安装视频下载程序 01 设置设备可 ...

  • 荣耀X1怎样在 Mac 计算机与荣耀X1间传输文件?

    操作方法 01 荣耀X1(7D-501u)7.0 怎样在 Mac 系统的计算机与荣耀X17.0 间传输文件? 1.登录http://www.android.com/filetransfer/或者第三方 ...