Android 文件的存储和加载,主要用于请求网络中json文件的缓存,引入了一个简单的过期时间,供大家参考学习!

文件存储

 1 private void saveLocal(String json, int index) {
 2
 3         BufferedWriter bw = null;
 4         try {
 5             File dir=FileUtils.getCacheDir();
 6             //在第一行写一个过期时间
 7             File file = new File(dir, getKey()+"_" + index); // /mnt/sdcard/googlePlay/cache/home_0
 8             FileWriter fw = new FileWriter(file);
 9              bw = new BufferedWriter(fw);
10             bw.write(System.currentTimeMillis() + 1000 * 100 + "");
11             bw.newLine();// 换行
12             bw.write(json);// 把整个json文件保存起来
13             bw.flush();
14             bw.close();
15         } catch (Exception e) {
16             e.printStackTrace();
17         }finally{
18             IOUtils.closeQuietly(bw);
19         }
20     }

文件加载

 1 private String loadLocal(int index) {
 2         //  如果发现文件已经过期了 就不要再去复用缓存了
 3         File dir=FileUtils.getCacheDir();// 获取缓存所在的文件夹
 4         File file = new File(dir, getKey()+"_" + index);
 5         try {
 6             FileReader fr=new FileReader(file);
 7             BufferedReader br=new BufferedReader(fr);
 8             long outOfDate = Long.parseLong(br.readLine());
 9             if(System.currentTimeMillis()>outOfDate){
10                 return null;
11             }else{
12                 String str=null;
13                 StringWriter sw=new StringWriter();
14                 while((str=br.readLine())!=null){
15
16                     sw.write(str);
17                 }
18                 return sw.toString();
19             }
20
21         } catch (Exception e) {
22             e.printStackTrace();
23             return null;
24         }
25     }

转载于:https://www.cnblogs.com/lude313/p/4796970.html

Android 文件的存储和加载相关推荐

  1. VINS-Mono代码阅读笔记(十四):posegraph的存储和加载

    本篇笔记紧接着VINS-Mono代码阅读笔记(十三):posegraph中四自由度位姿优化,来分析位姿图的存储和加载. 完整(也是理想的)的SLAM的使用应该是这样的:搭载有SLAM程序的移动设备在一 ...

  2. Android ListView列表 刷新和加载更多

    上下拉实现刷新和加载更多的ListView,如下: package com.sin.android.ui;import android.content.Context; import android. ...

  3. 6.9 选区的存储和加载 [原创Ps教程]

    原文:http://coolketang.com/staticPhotoshop/5a98d683756571454f2ae409.html 1. 本节课程将为您演示,如何存储选区和加载存储的选区.首 ...

  4. Android APN的配置和加载

    APN简介 APN指一种网络接入技术,是通过手机上网时必须配置的一个参数,它决定了手机通过哪种接入方式来访问网络.对于手机用户来说,可以访问的外部网络类型有很多,例如:Internet.WAP网站,集 ...

  5. android 文件公有存储,如何将文件写入Android中的外部公共存储,以便从Windows中看到它们?...

    如何将文件写入Android中的外部公共存储,以便从Windows中看到它们? 我的应用程序应该将文件保存到一个地方,当您将手机/平板电脑连接到计算机时,您可以通过系统文件资源管理器看到它们. 这就是 ...

  6. ELF文件的格式和加载过程

    (一) ELF 文件的格式       ELF 文件类型 (1) 可重定位文件( .o 目标文件) : 用于链接创建可执行文件或 so 文件 (2) 可执行文件                     ...

  7. 强化学习 ---baseline项目之 TensorFlow的训练参数的存储和加载

    该项目中把tf的数据存储和读取抽取出两个函数,方便开发,思想和代码值得借迁 一.存储 def save_variables(save_path, variables=None, sess=None): ...

  8. python的HTML文件中使用和加载CSS文件

    目录 1.关于pycharm中CSS文件的创建 2.创建完成之后,进行测试 1.关于pycharm中CSS文件的创建 2.创建完成之后,进行测试 1.关于pycharm中CSS文件的创建: https ...

  9. 【NLP】gensim保存存储和加载fasttext词向量模型

    以下举例训练小的语料库的方法,大的语料库,训练词向量操作流程不一样 参考https://radimrehurek.com/gensim_3.8.3/models/fasttext.html from ...

最新文章

  1. 计算机故障的现象有哪些,八种常见CPU故障现象的分析与处理_计算机硬件与网络_IT /计算机_信息...
  2. SQL Server-聚焦SNAPSHOT基于行版本隔离级别详解(三十)
  3. signavio-core-components ant build-all-in-one-war failed
  4. Java核心API -- 7(Iterator迭代器、Comparable、Comparator比较器)
  5. Hibernate CRUD操作
  6. eBay的Elasticsearch性能调优实践
  7. Java Math 类中的新功能--浮点数
  8. ii 组合总和_40. 组合总和 II – 力扣(LeetCode)
  9. File,FileInfo,Directory,DirectoryInfo
  10. Tomcat控制台输出到文件
  11. C#算法设计排序篇之05-归并排序(附带动画演示程序)
  12. python画图保存网页_一起学Python数据分析——引言
  13. Python集合框架
  14. Java多线程篇之List与Collections集合工具类
  15. 工商银行区块链专利 为提高证书发放的效率
  16. AWS Direct connect,VPC Peering,VPC endpoint
  17. 查看浏览器内核以及版本信息
  18. 论文查重系统如何才安全?
  19. c语言作业报告,C语言程序设计综合作业报告——作业管理系统
  20. C++中“map和set”相关内容整理分析

热门文章

  1. 《C语言程序设计:问题与求解方法》——0.5节本章习题
  2. 【powerdesigner】将pdm或者cdm保存为普通图片格式
  3. Apache多网站虚拟目录域名
  4. Matlab实现二进制矩阵转换为十进制
  5. 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记
  6. 微软职位内部推荐-Senior PM
  7. 最新Butterknife集成 全部方法(完整版)
  8. Android里监视数据库的变化
  9. android 如何完全卸载Android Studio
  10. Eclipse使用Android2.3和3.0的SDK