博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
File操作相关
阅读量:4552 次
发布时间:2019-06-08

本文共 1797 字,大约阅读时间需要 5 分钟。

Environment 常用方法: 

* 方法:getDataDirectory()
解释:返回 File ,获取 Android 数据目录。
* 方法:getDownloadCacheDirectory()
解释:返回 File ,获取 Android 下载/缓存内容目录。
* 方法:getExternalStorageDirectory()
解释:返回 File ,获取外部存储目录即 SDCard
* 方法:getExternalStoragePublicDirectory(String type)
解释:返回 File ,取一个高端的公用的外部存储器目录来摆放某些类型的文件
* 方法:getExternalStorageState()
解释:返回 File ,获取外部存储设备的当前状态
* 方法:getRootDirectory()
解释:返回 File ,获取 Android 的根目录

 

Context常用文件路径获取方法:

getCacheDir  "/data/data/程序Package Name/cache"

getFilesDir  "/data/data/程序Package Name/files"

public FileInputStream openFileInput(String name):读取文件,name为文件名不能包含路径,文件的路径为"/data/data/程序Package Name/files",如果文件不存在,将会出现FileNotFoundException。

public FileOutputStream openFileOutput(String name, int mode):写文件,name为文件名不能包含路径,mode为权限,文件的路径为"/data/data/程序Package Name/files"。

 

context.openFileOutput(String filename,int mode);

  filename不能包含"/"分隔符,只能是文件名,如果该文件不存在会创建.路径为:/data/data/应用包名/files/filename

  mode 

    MODE_PRIVATE   私有(只能创建它的应用访问) 重复写入时会文件覆盖 

    MODE_PRIVATE   私有   重复写入时会在文件的末尾进行追加,而不是覆盖掉原来的文件 

    MODE_WORLD_READABLE   公用  可读 

    MODE_WORLD_WRITEABLE    公用 可读写  

 

1.高效率的文件复制实现

transferTo里面有这么一句话
从此通道读取并将内容写入目标通道的简单循环语句相比,此方法可能高效得多。很多操作系统可将字节直接从文件系统缓存传输到目标通道,而无需实际复制各字节

FileChannel inChannel = new FileInputStream(source).getChannel();     FileChannel outChannel = new FileOutputStream(dest).getChannel();     long size =  inChannel.size();        try {            inChannel.transferTo(0, inChannel.size(), outChannel);//高效的原因所在        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }finally{            if(inChannel != null){                inChannel.close();            }            if(outChannel != null){                outChannel.close();            }        }

 

转载于:https://www.cnblogs.com/ff0o0/p/3600108.html

你可能感兴趣的文章
DEV 常用属性大全
查看>>
Spring的历史和哲学
查看>>
C# 字符串处理小工具
查看>>
研究显示云计算减少了管理安全性的时间和费用
查看>>
如何为您使用Windows Azure的应用程序评估成本
查看>>
初级排序算法之选择排序
查看>>
Spring Roo
查看>>
Hadoop and net core a match made in docker
查看>>
Javaweb项目构建常见问题
查看>>
SQLServer 错误: 15404,维护计划无法执行
查看>>
要完善的内容
查看>>
【codeforces】【比赛题解】#869 CF Round #439 (Div.2)
查看>>
PHP之session_start()详解
查看>>
tcp异常断开的重连解决方法
查看>>
Python全栈Day 20部分知识点
查看>>
sptring boot 修改默认Banner
查看>>
安装mysql时 Write configuration file 错误的解决办法
查看>>
ReCAPTCHA & 手势验证
查看>>
Chrome & QR Code Reader
查看>>
css & background & svg
查看>>