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

    数据存储在文件中,  

      Context类提供的一个openFileOutPut()方法,可以存储在文件中,该方法接受两个参数,第一个参数是存储的文件名称,第二个参数是文件的操作模式,MODE_PRIVATE是默认的操作模式,意思是指定相同名字的文件会覆盖之前的,MODE_APPEND是在文件内容的后面追加内容。

      openFileOutput方法返回的是一个FileOutputStream 对象,无法直接写入文件,但是BufferedWriter 对象有写入方法,但是该类只接受write类,所以要new 一个OutputStreamWriter对象,里面在放一个FileOutputStream对象。然后调用BufferedWriter 类的write()方法,将数据写入文件。

    在数据流交互的时候会有异常,记住要放在try/catch块里面。

     public void save(String input) {
            FileOutputStream out;
            BufferedWriter bufferedWriter = null;
            try {
                out = openFileOutput("data", Context.MODE_PRIVATE);
                bufferedWriter = new BufferedWriter(new OutputStreamWriter(out));
                bufferedWriter.write(input);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (bufferedWriter != null)
                        bufferedWriter.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    以上是将数据存储在文件中,所以有存就有读。读取文件的数据和存储数据相反,一个output 一个input。Context还是提供了openFileInput()方法,返回类型还是FileInputStream ,不能直接读取,还是BufferedReader类有readLine()方法读取,所以FileInputStream类要向BufferReader类转化,就要利用中间类(InputStreamReader),该中间类 既可以接受FielInputStream对象,又可以作为参数向BufferedReader类传递,BufferReader 对象创建成功,就可以调用readLine(),读取数据并且可以存储在 StringBuilder 的对象中,可以直接String对象获取存储信息。

    public String  Read() {
            FileInputStream inputStream;
            BufferedReader bufferedReader = null;
            StringBuilder stringBuilder = new StringBuilder();
            try {
                inputStream = openFileInput("data");
                bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
                String line;
                while ((line = bufferedReader.readLine()) != null) {
                    stringBuilder.append(line);
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (bufferedReader != null)
                        bufferedReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return stringBuilder.toString().trim();
        }
  • 相关阅读:
    zabbix3.0.4通过自定义shell脚本添加对关键日志文件的监控
    zabbix添加对自定义无规则的关键日志文件的监控
    zabbix3.0监控centos当主机cpu使用率超过90%的时候报警
    elasticsearch5.0.1集群一次误删除kibana索引引发的血案
    安装ClamAV对centos系统进行病毒查杀
    Window下通过charles代理抓取iphone/android手机Https请求乱码问题处理
    zabbix3.0.4报错Get value from agent failed: cannot connect to [[1.1.1.1]:10050]: [4] Interrupted syste
    python操作haproxy.cfg文件
    【转】Hadoop集群添加磁盘步骤
    【转】HADOOP HDFS BALANCER介绍及经验总结
  • 原文地址:https://www.cnblogs.com/zhoushenglei/p/7147420.html
Copyright © 2011-2022 走看看