• 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) {  
        ……
    }
  • 相关阅读:
    php7 安装xhprof
    通过explain分析SQL
    将本地代码上传到github
    SVM支持向量机分类算法
    sklearn之reshape(-1,1)
    sklearn之决策树和随机森林对iris的处理比较
    sklearn总结
    面向对象之类的继承
    面向对象之静态方法、类方法
    面向对象之类的私有属性和方法
  • 原文地址:https://www.cnblogs.com/keyarchen/p/6061230.html
Copyright © 2020-2023  润新知