Android 文件读写

来源:互联网 发布:wtaps15aw裤数据 编辑:程序博客网 时间:2024/06/14 07:42

Android 文件读写


      学过Java的同学都知道,我们新建文件,然后就可以写入数据了,但是Android却不一样,因为Android是基于Linux的,我们在读写文件的时候,还需加上文件的操作模式,Android中的操作模式如下:


1、文件操作模式

2、文件常用方法

3、文件工具类

public class FileHelper {    private Context mContext;    public FileHelper() {    }    public FileHelper(Context mContext) {        super();        this.mContext = mContext;    }    /*    * 这里定义的是一个文件保存的方法,写入到文件中,所以是输出流    * */    public void save(String filename, String filecontent) throws Exception {        //这里我们使用私有模式,创建出来的文件只能被本应用访问,还会覆盖原文件哦        FileOutputStream output = mContext.openFileOutput(filename, Context.MODE_PRIVATE);        output.write(filecontent.getBytes());  //将String字符串以字节流的形式写入到输出流中        output.close();         //关闭输出流    }    /*    * 这里定义的是文件读取的方法    * */    public String read(String filename) throws IOException {        //打开文件输入流        FileInputStream input = mContext.openFileInput(filename);        byte[] temp = new byte[1024];        StringBuilder sb = new StringBuilder("");        int len = 0;        //读取文件内容:        while ((len = input.read(temp)) > 0) {            sb.append(new String(temp, 0, len));        }        //关闭输入流        input.close();        return sb.toString();    }}

4.读取SD卡上的文件


public class SDFileHelper {    private Context context;    public SDFileHelper() {    }    public SDFileHelper(Context context) {        super();        this.context = context;    }    //往SD卡写入文件的方法    public void savaFileToSD(String filename, String filecontent) throws Exception {        //如果手机已插入sd卡,且app具有读写sd卡的权限        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {            filename = Environment.getExternalStorageDirectory().getCanonicalPath() + "/" + filename;            //这里就不要用openFileOutput了,那个是往手机内存中写数据的            FileOutputStream output = new FileOutputStream(filename);            output.write(filecontent.getBytes());            //将String字符串以字节流的形式写入到输出流中            output.close();            //关闭输出流        } else Toast.makeText(context, "SD卡不存在或者不可读写", Toast.LENGTH_SHORT).show();    }    //读取SD卡中文件的方法    //定义读取文件的方法:    public String readFromSD(String filename) throws IOException {        StringBuilder sb = new StringBuilder("");        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {            filename = Environment.getExternalStorageDirectory().getCanonicalPath() + "/" + filename;            //打开文件输入流            FileInputStream input = new FileInputStream(filename);            byte[] temp = new byte[1024];            int len = 0;            //读取文件内容:            while ((len = input.read(temp)) > 0) {                sb.append(new String(temp, 0, len));            }            //关闭输入流            input.close();        }        return sb.toString();    }}

最后别忘记在AndroidManifest.xml写上读写SD卡的权限哦!

<!-- 在SDCard中创建与删除文件权限 --><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><!-- 往SDCard写入数据权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


0 0
原创粉丝点击