方法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();
}
}

转载于:https://www.cnblogs.com/awkflf11/p/6024522.html

File存对象--android 的File存储到SD卡();相关推荐

  1. android的SP存储和SD卡存储

    在android中有着很多的存储方式,例如数据库存储,SD卡存储以及SharedPreferences(以下简称SP)等,下面我们来主要的讲解一下SP以及SD卡存储. 首先是SP,SP存储是一个采用K ...

  2. android qq存储方式,android(5)(模拟QQ登录,文件存储,SD卡存储,SharedPreferences存储)...

    模拟QQ登录(记录账号和密码): 1.文件存储到文件中: /** * 文件存储 *@author Administrator * */ public class Utils { /** * 保存用户信 ...

  3. 【Android游戏开发十二】(保存游戏数据 [上文])详解SharedPreference 与 FIleInputStream/FileOutputStream将数据存储到SD卡中!

     李华明Himi 原创,转载务必在明显处注明: 转载自 [黑米GameDev街区] 原文链接:  http://www.himigame.com/android-game/327.html 很多童鞋说 ...

  4. android 访问存储卡,Android:无法访问存储在SD卡中的文件

    我正在研究一个读取存储在SD卡(内部/数据/本地)中的.txt文件的应用程序.我遇到的问题是,它似乎可以访问文件路径,但它不能访问文件本身(尽管它具有读取和写入权限),但会引发FileNotFound ...

  5. Android学习笔记--文件下载和SD卡的使用

    MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0 1 . 使用http协议下载文件 // 步骤 A ) : 创建一个HttpURLC ...

  6. android 清空数组缓存,Android数据持久化之读写SD卡中内容的方法详解

    本文实例讲述了Android数据持久化之读写SD卡中内容的方法.分享给大家供大家参考,具体如下: 前面文章里讲的那三个方法:openFileOutput.openFileInput虽然都能通过流对象O ...

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

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

  8. android 扫描手机内存和SD卡,获取手机的视频、音频文件。把获取不到的文件扫描出来

    网上查了下android手机扫描内存或者SD卡里面的音频或者视频文件,进行显示.但是有些视频或者音频扫描不出来.有其中一个原因是当你添加了一个视频或者音频文件后,手机自身没有重新进行扫描.只有手机重启 ...

  9. 【好奇心驱动力】ESP32-CAM定时拍照存储到SD卡

    1.实验目的 部分步骤和截图来源于官网 https://randomnerdtutorials.com/esp32-cam-take-photo-save-microsd-card/ 使用ESP32- ...

最新文章

  1. GDAL中GDALDataset::RasterIO分块读取的实现
  2. HI3519安装SDK错误
  3. Kube-Scheduler插件的自定义
  4. hdu 2563
  5. wiki-editor语法
  6. 设计模式12-命令模式
  7. TensorFlow 教程 --教程--2.1 综述
  8. linux sudo使用和sudoers配置详解
  9. 解决IE6下CSS兼容性的两把神器
  10. 早鸟票只剩3天丨为何一定要参加今年的CNCC?
  11. 多精度数带余除法_《有余数的除法》教学设计
  12. Java多线程——线程安全问题
  13. 【脑电信号】基于matlab小波变换脑电信号特征提取【含Matlab源码 511期】
  14. android 人脸 动画表情包,巧笑表情包怎么制作 Android好玩的emoji人脸表情软件推荐...
  15. mysql左右匹配原则的用法和理解
  16. Unity3D新手入门初中高级教程
  17. linux添加163邮箱,centos 7 mailx配置163邮箱发送邮件
  18. P,MTHBGWB 水题
  19. 解决win11/win10在登陆界面(解锁界面)点击获取每日壁纸无效的问题 - get Daily Lockscreen and Wallpaper - Win11/10的登录界面背景图片在哪里?
  20. 哈佛商学院20部必看电影

热门文章

  1. c#类属性和实例属性_C#中类的序列化及反序列化简要分析
  2. SQLi LABS Less-11 联合注入+报错注入
  3. 为什么采用4~20mA的电流来传输模拟量?(转)
  4. Let’ s Encrypt 现支持通配符的 HTTPS 认证
  5. 巧妙恢复 /boot 下的文件
  6. Linux中如何使用帮助
  7. 子div用了float浮动之后,如何撑开父元素,让父元素div自动适应高度的问题
  8. jquery 获取和设置 select下拉框的值
  9. 核心动画(Core Animation)简介及常规用法
  10. JavaScript 拾碎[二] JavaScript 操作cookie 类