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

    文件存储是Android中最基本的一种数据存储方式,它不对存储的内容进行任何格式的格式化处理,所有数据都原封不动的保存到文件中,因而它比较适合用于存储一些简单的文本数据或二进制数据。

    保存数据

    Context类中提供一个openFileOutPut(),可以用于将数据存储到指定的文件。这个方法接收两个参数,第一个参数是文件名,该文件存储在Android Studio界面右下角的Device File Explorer,找到data/data/projectName/files,该文件就在files目录文件下。第二个参数是文件的操作模式,主要有两种模式可选,MODE_PRIVATE和MODE_APPEND。其中MODE_PRIVATE是默认的操作模式,表示当指定同样的文件名的时候,所写的内容将覆盖原文件的内容,而MODE_APPEND则表示如果该文件已存在,就往文件里面追加内容,不存在就创建新文件。

        FileOutputStream out;
        BufferedWriter writer = null;
    
        try {
            out = openFileOutput("data", Context.MODE_PRIVATE);
            writer = new BufferedWriter(new OutputStreamWriter(out));
            writer.write(inputText);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (writer != null) {
                    writer.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    

    读取数据

    Context中提供一个openFileInput(),用于从文件中读取数据。这个方法只接收一个参数,即要读取的文件名。我们这里创建一个load方法用来读取一个已经存在的data文件,返回里面的内容。

    private String load() {
    
            FileInputStream in;
            BufferedReader reader = null;
            StringBuilder content = new StringBuilder();
    
            try {
                in = openFileInput("data");
                reader = new BufferedReader(new InputStreamReader(in));
                String line = "";
                while ((line = reader.readLine()) != null) {
                    content.append(line);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
            return content.toString();
        }
    

    另外补充两个方法,一个是EditText类的setSelection(),这个方法接收一个参数,可以将光标移动到文本的任意位置,通常指定文本的末尾位置以便继续输入。另外一个方法是TextUtils.isEmpty(),这份方法可以一次性进行两种空值判断。当传入的字符串等于null或者等于空字符串的时候,这个方法都会返回true。

  • 相关阅读:
    更改PHP配置文件php.ini解决xmlhttp的utf8乱码
    php 单引号 双引号 区别
    zend soap looks like we got no XML document
    使用UltraEdit32编辑器格式化源码功能 XML、Java、C/C++、C#
    php str_replace 单引号 双引号 区别
    PHP将XML文件转换成PHP数组
    简述PHP4和PHP5版本下解析XML文档的操作方法
    HowTo: Fix SimpleXML CDATA problem in php
    XML中 CDATA and PCDATA 的区别
    php 生成xml 的四种方式
  • 原文地址:https://www.cnblogs.com/ngy-liupeng/p/15173895.html
Copyright © 2011-2022 走看看