Android开发基础之文件读与写

三种类型的文件存储:SharedPreferences类、Android内部文件操作、SDCard文件存储。

一、SharedPreferences类

只用于保存少量数据,以 (key,value) 格式保存在XML文件中,开发者不用关心XML文件的存储格式和路径。Key用于存取数据,value是数据的实际内容。

使用方法:

(1)创建SharedPreferences对象
SharedPreferences setting = getSharedPreferences(“settings”, MODE_PRIVATE);
参数1:string类型,用于指定保存数据的文件名,settings.xml
参数2:int类型,用于指定XML文件的操作模式,MODE_PRIVATE、MODE_WORLD_READABLE、MODE_WORLD_WRITEABLE)

(2)写入SharedPreferences对象内容
调用SharedPreferences对象的edit方法的putXXX来变更文件内容,调用commit()方法才真正写入文件。提供五种数据类型。

setting.edit().putString(“email”, email)
putString(“password”, password)
putBoolean(“checked”, true)
commit();

或者

Editor edit = setting.edit();
edit. putString(“email”, email);
edit. putString(“password”, password);
edit. putString(“checked”, true);
edit.commit();

(3)读取SharedPreferences对象数据
使用SharedPreferences对象的getXXX方法来变更文件内容。

String email = setting.getString(“emal”, “”);
String password = setting.getString(“password”, “”);
String checked = setting.getBoolean(“checked”, false);

二、Android内部文件操作

内部文件存储存在手机的内部存储器上,适合存储容量不大且单个应用独享的数据信息。存储路径对开发者是透明的。核心是FileOutputStream及FileInputStream。

(1)写入文件
① FileOutputStream out = openFileOutput(String filename, int mode);
参数1:string类型,用于指定写入的文件名。
参数2:int类型,用于指定文件的操作模式,四种模式。

② out.write(byte[]b);
写入文件的数据必须是byte类型,所以一般会使用getBytes()方法把字符串转换成byte数组。

实例:

FileOutputStream out = null;  
out = openFileOutput(“settings.txt”, MODE_PRIVATE);
String filecontent = “Hello World”;
out.write(filecontent.getBytes());  
out.flush();
out.close();  

(2)读取文件
① FileInputStream in = openFileInput(String filename);
获得某个文件的文件流,定义在android.content.Context类中。String类型读取的文件名。除创建输出流和输入流的代码外,与PC上的文件I/O代码一致。
② int length = in.read(byte[]);

实例:

FileInputStream in = openFileInput(“settings.txt”);   
byte[] buf = new byte[in.available()]; 
while(in.read(buf)!=-1) {} 
String text = new String(buf);

三、文件的默认位置

①在android studio点击如图所示:
在这里插入图片描述
文件路径:

SharedPreferences类:/data/data/你创建的项目/ shared_prefs
Android内部文件操作: /data/data/你创建的项目/files


有任何问题欢迎大家在下方评论区讨论!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值