android 对象输出到文件
来源:互联网 发布:ipad淘宝hd不能横屏 编辑:程序博客网 时间:2024/06/16 04:57
在我们写app时,经常要访问服务器去拉取服务器的数据,然后做本地缓存,这样只要服务器端的数据没有更新,我们的APP就没有必要去每次都发送请求,只要从缓存的本地文件中读取出来,正确的做解析即可。
在公司最近的项目中,主要是要缓存一些目录数据,因为这些数据是不怎么变化的,不必每次都去发请求,有了这个需求后,我就开始准备缓存服务器返回来的Json数据,可后来注意到程序中接收到服务器的响应后已经将Json解析为了对象,这种情况下我就不可以将Json存到文件中去了,只能是将对象存到文件中去,于是就研究了一下Java如何将对象写入到文件中去,发现写对象到文件中与写字符串到文件基本上是一样的。
下面是我写的一个存储对象和读取对象的demo:
package com.example.objectwriterdemo;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.util.Log;public class MainActivity extends Activity{private Student student;private Student stu1;private File sdCardDir;private File sdFile;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initData();readyToWriter();readyToReader();}private void initData(){student = new Student();student.name = "rzq";student.sex = "male";}private void readyToWriter(){if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){sdCardDir = Environment.getExternalStorageDirectory();sdFile = new File(sdCardDir, "student.out");try{FileOutputStream fos = new FileOutputStream(sdFile);ObjectOutputStream oos = new ObjectOutputStream(fos);oos.writeObject(student);fos.close();}catch (Exception e){e.printStackTrace();}}}private void readyToReader(){if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){try{FileInputStream fis = new FileInputStream(sdFile);ObjectInputStream ois = new ObjectInputStream(fis);stu1 = (Student) ois.readObject();fis.close();}catch (Exception e){e.printStackTrace();}}Log.e("=========", stu1.name);}}
解释一下: FileInputStream,FileOutputStream是文件输入,输出流,是字节流,同时也是结点流,只有结点流是可以直接指向到具体的文件的,而ObjectInputStream,ObjectOutputStream是对象流,同时也是处理流,处理流是不能直接指向到最络要输入输出的文件的,它们只能指向到结点流,所以我们要先创建好结点流,然后将对象流指向到这些结点流上,就可能通过处理流去处理对象的输入与输出了。
0 0
- android 对象输出到文件
- Android输出logs到文件
- Android输出logs到文件
- Android日志输出到文件方法
- Android 代码实现logcat输出到文件
- Android log日志输出到文件
- Android写bitmap对象到文件中
- CreateProcess()输出到文件
- 输出到文件
- 输出时间到文件
- c++ 输出到文件
- make输出到文件
- Logcat输出到文件
- C++输出到文件
- 输出文件到项目
- android直接把打印信息输出到文件
- Android Log 输出到文件中去的简易方法
- android 使用log4j SLF4J 输出日志到文件中
- Unity3d Android Sqlite 显示中文
- Display row where count(*) is zero?
- 浅谈sql中的in与not in,exists与not exists的区别
- 自己写通用表单验证插件
- IOS之地图和定位应用开发
- android 对象输出到文件
- 顶帖广告
- 用Installshield制作一个完整程序实例(一)--基本设置(一)
- win32 获取当前焦点的几个函数
- 我心里的程序员
- C#windowForm 从php函数返回的Url获取到json并解析,下载文件
- Hbase在PowerLinux平台异常:libjffi-1.0.so包不存在的解决方法
- Qt5对Json的读写总结 浅析
- Java自学之道