Android学习之文件操作

21 篇文章 0 订阅


为啥CSDN只有原创,转载和翻译三种呢,很让我纠结,写的东西部分是从别的地方抠的,部分自己总结的,让我咋选呢! 好吧,不纠结了。

今天在看一个源码时发现调用Context对象的getFilesDir()方法得到的是/data/data/包名/files,因为平时没怎么用,所以有点好奇,想探个究竟,API是这么说的:

public File getFilesDir ()

Added in API level 1
Returns the absolute path to the directory on the filesystem where files created with openFileOutput(String, int) are stored.

Returns
Returns the path of the directory holding application files.

又来了一个API,openFileOutput(),

public abstract FileOutputStream openFileOutput (String name, int mode)

Added in API level 1
Open a private file associated with this Context's application package for writing. Creates the file if it doesn't already exist.

Parameters
name	The name of the file to open; can not contain path separators.
mode	Operating mode. Use 0 or MODE_PRIVATE for the default operation, MODE_APPEND to append to an existing file, MODE_WORLD_READABLE and MODE_WORLD_WRITEABLE to control permissions.
Returns
FileOutputStream Resulting output stream.
Throws
FileNotFoundException	
See Also
MODE_APPEND
MODE_PRIVATE
MODE_WORLD_READABLE
MODE_WORLD_WRITEABLE
openFileInput(String)
fileList()
deleteFile(String)
FileOutputStream(String)

英文不好的我着实头疼啊。

粗略的解释一下吧:具体的来说可以使用openFileOutput来保存数据,第一个参数是文件名称,第二个是模式,提供了相应的参数供选择了,

MODE_PRIVATE:应用程序私有,这个应该明白吧。

MODE_WORLD_READABLE:所有应用程序都可以访问。

MODE_WORLD_WRITEABLE:所有应用程序都可以写入。

MODE_APPEND:如果要创建的文件存在则新写入的数据不会覆盖以前的数据。

写一个简单的例子吧:

OutputStream os = activity.openFileOutput("file.txt", MODE_PRIVATE);
OutputStreamWriter w = new OutputStreamWriter(os);
w.write("hello world!");
w.close();
os.close();

这样就在系统的/data/data/应用程序包名/files/下创建了一个叫做file.txt的文件,并写入了hello world!字符。

那getFilesDir()的作用呢就是得到“/data/data/应用程序包名/files”。

还有一个跟它类似的函数叫做getCacheDir(),得到的是这样的目录结构:/data/data/包名/cache


对了,注意在写示例代码的时候添加上相应的文件权限,否则报错哟!

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>



------------- 暂时到这里吧,文件操作还有很大部分需要学习的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值