zoukankan      html  css  js  c++  java
  • 3.2 文件存储

    1. 写文件

    FileOutputStream out = openFileOutput("info1.txt", MODE_PRIVATE);  
                String content = contentEt.getText().toString();  
                byte[] bytes = content.getBytes();  
                out.write(bytes);  
                out.close();

      首先声明一个文件输出流,使用系统提供的openFileOutput来获取该输出流,获取输出流时需指明输出流对应的文件名称,以及该文件的使用模式.使用模式分为MODE_APPEND即向文件尾写入数据、MODE_PRIVATE即仅打开文件可写入数据、MODE_WORLD_READABLE所有程序均可读该文件数据、MODE_WORLD_WRITABLE即所有程序均可写入数据。

    2. 读文件

    FileInputStream in = openFileInput("info1.txt");  
                byte[] buffer = new byte[1024];  
                in.read(buffer);  
                String str = EncodingUtils.getString(buffer, "UTF-8");  
                this.contentEt.setText(str.toString());  
                in.close();

      另: 静态文件或者成嵌入式文件,该文件为程序的一部分,在编写时放入程序的资源目录中,程序编译时会将改文件,作为程序的一部分一起编译,该文件一般存放在res/raw文件夹下,文件的名称可以通过R.raw.fileName来访问。该类型文件的读取方式如下:

    InputStream in = getResources().openRawResource(R.raw.test);

    读取SD上的文件

      SDCard文件是指存放在SD卡上的文件,进行SD卡操作前,请确保已安装SD卡且保证已配置允许对SD卡进行操作.对SD开的权限配置在文件AndroidManifest.xml中,需写入一下代码:

    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> // 创建删除文件权限
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>     // 写入权限

    在程序中操作SD卡前,也需判断是否已安装SD卡,判断的方法如下:

    if(Environment.getExternalStorageDirectory().equals(Environment.MEDIA_MOUNTED)){……}

    SD中写入文件数据的代码如下:

    File sdcDir = Environment.getExternalStorageDirectory();  
    File file = new File(sdcDir,"info.txt");  
    try {  
        FileOutputStream out = new FileOutputStream(file);  
        String content = contentEt.getText().toString();  
        out.write(content.getBytes());  
        out.close();  
    } catch (FileNotFoundException e) {  
        ……
    }

    读取的方法与上类似,代码如下:

    File sdcDir = Environment.getExternalStorageDirectory();  
    File file = new File(sdcDir,"info.txt");  
    FileInputStream in;  
    try {  
        in = new FileInputStream(file);  
        byte[] buffer = new byte[1024];  
        in.read(buffer);  
        String str = EncodingUtils.getString(buffer, "UTF-8");  
        this.contentEt.setText(str.toString());  
        in.close();  
    } catch (FileNotFoundException e) {  
        ……
    }
  • 相关阅读:
    Android杂谈错误整理(持续更新)
    javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver错误解决办法
    收藏微软面试智力题 (附答案)
    gridview等控件换行实现办法
    [原创]DataView特殊字条串替换(过滤)
    [转]ASP.Net4.0中新增23项功能
    从LOGO看百度与谷歌
    [转]Winxp下kernel32.dll内部的函数集合和地址值
    [转]ASP.NET Web Forms 4.0 简介
    asp.net类似于QQ表情弹出框功能的实现方法
  • 原文地址:https://www.cnblogs.com/keyarchen/p/6061230.html
Copyright © 2011-2022 走看看