zoukankan      html  css  js  c++  java
  • Android-Context的IO功能

      如何将应用数据保存到本地文件?如何从本地文件加载数据到应用中?我实现的步骤是:

      应用(java数据)<--org.json-->JSONString<--Context.IO-->本地文件

      今天向读者讲解的是Context.IO部分。

    File getDir(String name, int mode)

    获取/data/data/<packagename>/目录的子目录(如不存在就先创建
    它)

    File getFilesDir() 获取/data/data/<packagename>/files目录
    File getCacheDir()

    获取/data/data/<packagename>/cache目录。应注意及时清理该目录,并节约使用空间

    String[] fileList()

    获取/data/data/<packagename>/files目录下的文件列表。可与其他方
    法配合使用,例如openFileInput(String)

    FileInputStream openFileInput(String name) 打开现有文件进行读取

    FileOutputStream openFileOutput(String
    name, int mode)

    打开文件进行写入,如不存在就创建它

     Context.IO实现本地文件的字符串输入输出

    public class SerializerUtils {
        
        
        
        public static void save(Context c,String fileName,String data) throws IOException{
            Writer writer=null;
            try{
            OutputStream out=c.openFileOutput(fileName, Context.MODE_PRIVATE);
            writer=new OutputStreamWriter(out);
            writer.write(data);
            }finally{
                if(writer!=null){
                    writer.close();
                }
            }
        }
        
        public static String load(Context c,String fileName)throws IOException{
            StringBuilder data=new StringBuilder();
            BufferedReader reader=null;
            try{
                InputStream in=c.openFileInput(fileName);
                reader=new BufferedReader(new InputStreamReader(in));
                String line=null;
                while((line=reader.readLine())!=null){
                    data.append(line);
                }
            }finally{
                if(reader!=null){
                    reader.close();
                }
            }
            return data.toString();
        }
    
    }
  • 相关阅读:
    又到黄金季节,该跳槽吗?怎么跳?
    分布式事务 6 个技术方案
    15 个 MyBatis 技巧,赶紧收藏吧!
    你的工资被倒挂了吗
    终于知道 Java agent 怎么重写字节码了
    每天的工作,你腻了吗?
    10 分钟轻松学会 Jackson 反序列化自动适配子类
    SpringMVC异步处理的 5 种方式
    Linux Cron 定时任务
    人类简史、软件架构和中台
  • 原文地址:https://www.cnblogs.com/JiMoRuXue/p/5056198.html
Copyright © 2011-2022 走看看