方法1:android File存对象--File存储到SD卡();

1、保存对象到本地或SD卡
需要注意的是,要保存的对象(OAuthV1)一定要实现了Serializable接口。
实现了Serializable接口对象才能被序列化。
public void fileSave(OAuthV1 oAuth_1){

//保存在本地
try {
// 通过openFileOutput方法得到一个输出流,方法参数为创建的文件名(不能有斜杠),操作模式
FileOutputStream fos = this.openFileOutput("oauth_1.out",Context.MODE_WORLD_READABLE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(oAuth_1);// 写入
fos.close(); // 关闭输出流
//Toast.makeText(WebviewTencentActivity.this, "保存oAuth_1成功",Toast.LENGTH_LONG).show();

} catch (FileNotFoundException e) {
e.printStackTrace();
//Toast.makeText(WebviewTencentActivity.this, "出现异常1",Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
//Toast.makeText(WebviewTencentActivity.this, "出现异常2",Toast.LENGTH_LONG).show();
}

//保存在sd卡
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){

File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录
File sdFile = new File(sdCardDir, "oauth_1.out");
try {
FileOutputStream fos = new FileOutputStream(sdFile);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(oAuth_1);// 写入
fos.close(); // 关闭输出流
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//Toast.makeText(WebviewTencentActivity.this, "成功保存到sd卡", Toast.LENGTH_LONG).show();

}
}

2、从本地或SD卡中取出对象

(从本地取得保存的对象)
public OAuthV1 readOAuth1() {
OAuthV1 oAuth_1 = null;
//String filename = "oauth_file.cfg";
try {
FileInputStream fis=this.openFileInput("oauth_1.out"); //获得输入流
ObjectInputStream ois = new ObjectInputStream(fis);
oAuth_1 = (OAuthV1)ois.readObject();

//tv.setText(per.toString()); //设置文本控件显示内容
// Toast.makeText(ShareTencentActivity.this,"读取成功",Toast.LENGTH_LONG).show();
} catch (StreamCorruptedException e) {

e.printStackTrace();
} catch (OptionalDataException e) {

e.printStackTrace();
} catch (FileNotFoundException e) {

e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {

e.printStackTrace();
}
return oAuth_1;

(2)从SD卡中取得保存的对象

对SD卡操作别忘了加权限
<!-- 在SDCard中创建与删除文件的权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据的权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

public OAuthV1 readOAuth2() {
OAuthV1 oAuth_1 = null;
File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录
File sdFile = new File(sdCardDir, "oauth_1.out");

try {
FileInputStream fis=new FileInputStream(sdFile); //获得输入流
ObjectInputStream ois = new ObjectInputStream(fis);
oAuth_1 = (OAuthV1)ois.readObject();
ois.close();
} catch (StreamCorruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OptionalDataException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

File存对象--android 的File存储到SD卡();的更多相关文章

  1. Android调用相机并将照片存储到sd卡上

    Android中实现拍照有两种方法,一种是调用系统自带的相机,然后使用其返回的照片数据. 还有一种是自己用Camera类和其他相关类实现相机功能,这种方法定制度比较高,洗染也比较复杂,一般平常的应用只 ...

  2. 大过年的,不下班的,上个Android文件操作类(内部存储和sd卡均可)

    package com.kkdiangame.UI.res; import java.io.ByteArrayOutputStream; import java.io.File; import jav ...

  3. Android中使用SQLiteOpenHelper管理SD卡中的数据库

    使用Android中自带的SQLiteOpenHelper可以完成数据库的创建与管理,但有两点局限: (1)数据库创建在内存卡中,大小受限,创建位置位于/data/data/应用程序名/databas ...

  4. Android 下载文件及写入SD卡

    Android 下载文件及写入SD卡,实例代码 <?xml version="1.0" encoding="utf-8"?> <LinearL ...

  5. android文件缓存,并SD卡创建目录未能解决和bitmap内存溢出解决

    1.相关代码: 加入权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ...

  6. Android 将文件保存到SD卡,从卡中取文件,及删除文件

    //保存到SD卡 private static String sdState = Environment.getExternalStorageState();     private static S ...

  7. Android开发学习---如何写数据到外部存储设备(sd卡),Environment.getExternalStorageDirectory,怎么获取sd卡的大小?

    本文主要介绍如何写数据到sd卡,这里主要到的技术是Environment中的方法. 1. 2.实现代码: /datasave/src/com/amos/datasave/savePasswordSer ...

  8. 【Android平台安全方案】の #00-请不要在外部存储(SD卡)加密存储的敏感信息

    本文翻译自https://www.securecoding.cert.org/confluence/display/java/DRD00-J.+Do+not+store+sensitive+infor ...

  9. Android数据存储之SD卡

    为了更好的存取应用程序的大文件数据,应用程序需要读. 写SD卡上的文件.SD卡大大扩充手机的存储能力. 操作SD首先要加权限: <!--在SDCard中创建与删除文件权限 --> < ...

随机推荐

  1. Dijksktra(测试源代码)

    1.此程序为c++程序 2.以下代码可实现手动输入,即去掉代码中的/*...*/注释符,并同时去掉赋值代码段 3.源代码 #include<iostream> using namespac ...

  2. CodeForces比赛总结表

    Codeforces A                     B                        C                             D            ...

  3. C# 属性控件2

    PropertyGrid,.net框架下的一个控件,这是一个软件升级的项目,原来的软件用的是C++,控件用的还是第三方,这次升级到visual studio .net4.0版本,原以为.net的东西用 ...

  4. sql2000不能远程注册服务器上sql2000的解决方法

    1. 开始——cmd——telnet Ip 1433  看1433端口是否打开 2.在服务器上查询分析器中输入select @@version查看sql2000的版本,版本号在8.0.2039以下的都 ...

  5. Android模拟器Genymotion如何访问本地服务器?

    Genymotion能否访问到本地服务器,其实与Genymotion本身并无太大关系.Genymotion作为VirtualBox中的一个虚拟OS运行,所以它访问网络的方式与其他VirtualBox中 ...

  6. React的虚拟DOM

    ReactJs的一大特点就是引进了虚拟dom(Virtual DOM)的概念.为什么我们需要Virtual DOM,Virtual DOM给我们带来了什么优势. 首先我们要了解一下浏览器的工作流. 当 ...

  7. SDWebImage

    SDWebImage 加载图片的流程 入口 setImageWithURL:placeholderImage:options: 会先把 placeholderImage 显示,然后 SDWebImag ...

  8. lua随机数函数

    function rnd(max)  --lua的第1次random数不靠谱,取第3次的靠谱  local ret=0  math.randomseed(os.time())  for i=1,3 d ...

  9. 【python】jiraAPI使用教程 自动创建jira问题单并置状态为OPEN

    环境依赖 : python库 redis jira  安装命令:pip install redis pip install jira redis服务安装命令: $sudo apt-get update ...

  10. code forces 382 D Taxes(数论--哥德巴赫猜想)

    Taxes time limit per test 2 seconds memory limit per test 256 megabytes input standard input output ...