关于android开发中的文件和sd卡问题
来源:互联网 发布:购买火车票的软件 编辑:程序博客网 时间:2024/04/29 18:57
移动开发,少不了要对文件进行操作:创建和删除。下面就记录一下我自己的心得:
一 在android开发中,进行这行操作必须要有相应的权限:
1)创建文件:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2)删除文件:<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
二 创建文件夹代码:
File file = new File(Environment.getExternalStorageDirectory(),fileNm);//fileNm是要创建的文件夹的名字
if(!file.exists()){
file.mkdir();//在一个已存在的路径中创建单层文件夹,emp: mnt/sdcard/ceshi.
//file.mkdirs();//如果要创建多层目录,则用mkdirs。emp: mnt/sdcard/e1/e2/e3;
}
备注:在一个已存在的路径中创建单层文件夹时,如: mnt/sdcard/ceshi.
file.mkdir()和file.mkdirs()没有区别。但如果要创建多层目录,如: mnt/sdcard/e1/e2/e3时,则只能用file.mkdirs();
三 删除文件夹代码:
File file = new File(path);
file.delete();//只能删除空目录,对于非空目录,要把里面的文件先删除,然后再删除这个目录
备注:1)file.delete()立即删除,file.deleteOnExit()当程序退出时删除。(未得出测试结果,网上资料)
2)删除非空目录:
public static void RecursionDeleteFile(File file){
if(file.isFile()){
file.delete();
return;
}
if(file.isDirectory()){
File[] childFile = file.listFiles();
if(childFile == null || childFile.length == 0){
file.delete();
return;
}
for(File f : childFile){
RecursionDeleteFile(f);
}
file.delete();
}
四 创建文件:1)文件的创建:
File file = new File();
file.createNewFile();
2)文件的写入:
public void writeInFile(File file,InputStream input){
try{
OutputStream output = new FileOutputStream(file);
//以1K为单位,每次写1k,如果文件小,单位就小一点,不然下载的文件会增大,内容变化
byte buffer[] = new byte[1024];
while ((input.read(buffer)) != -1) {
output.write(buffer);
}
// 清除缓存
output.flush();
}catch(IOExeption e){
output.close();
LogUtil.e(TAG,e.toString());
}finally{
output.close();
}
五 sd卡待续。。。
- 关于android开发中的文件和sd卡问题
- android读取内存和sd卡中的txt文件
- Android 关于SD卡操作 之 SD卡文件浏览器和存取SD卡上的图像
- Android读写SD卡中的txt文件
- Android开发中SD卡文件读写
- 【Android开发】SD卡路径问题
- Android扫描sd卡和系统文件
- android sd卡新建文件和文件夹
- Android:文件下载和写入SD卡
- Android扫描sd卡和系统文件
- Android:文件下载和写入SD卡
- Android扫描sd卡和系统文件
- 关于Android SD卡
- 关于Android开发中的证书和密钥等问题
- 关于android资源文件图片和SD卡图片加载到内存的占用
- 关于操作java中的SD卡文件的一些总结
- 自定义Android文件管理器----管理SD卡中的文件
- Android访问内部文件系统和模拟器中的SD卡,以及在模拟器安装apk文件
- 遍历文件目录源代码
- 使用Tabris创建原生跨平台应用
- LA 2031 Dance Dance Revolution
- 缺陷跟踪
- opencv学习笔记----相机标定(2)--基本原理之4个坐标系间的关系
- 关于android开发中的文件和sd卡问题
- php 定时备份mysql数据库 并删除8天前的记录
- java开发各种学习网站(更新中.....)
- WampServer的配置
- JAVA IO流的简单示例
- 正则将长数字转为英式写法(从后向前3个数字一个逗号)
- RollingHash求字符串匹配
- JS监听鼠标事件,鼠标移动到对象上,展示div
- curl 命令使用