android 管理文件大小,GitHub - zrunker/ZFile: Android文件管理类,包括打开不同后缀文件,创建文件/目录,获取文件/目录大小,复制文件,读取写入文件等。注意:需要添...

ZFile

Android文件管理类,包括打开不同后缀文件,创建文件/目录,获取文件/目录大小,复制文件,读取写入文件等。注意:需要添加三个权限 WRITE_EXTERNAL_STORAGE、READ_EXTERNAL_STORAGE、MOUNT_UNMOUNT_FILESYSTEMS。

作者:邹峰立,微博:zrunker,邮箱:zrunker@yahoo.com,微信公众号:书客创作,个人平台:www.ibooker.cc。

本文选自书客创作平台第20篇文章。阅读原文 。

877713c629c627fd5aeb86204984ce7b.png

在实际开发当中,对文件的管理是非常常见的一个功能,这里给出一个关于文件处理的一些常用方法的封装类ZFile,为了开发方便,可以直接引入封装内容到自己的项目当中,那么该如何引用呢?

一、引入资源包

这里提供两种方式引入资源:

1、在build.gradle文件中添加以下代码:

在build.gradle文件中添加以下代码:

allprojects {

repositories {

maven { url 'https://www.jitpack.io' }

}

}

dependencies {

compile'com.github.zrunker:ZFile:v1.0.4'

}

2、使用maven,添加以下代码:

jitpack.io

https://jitpack.io

com.github.zrunker

ZFile

v1.0.4

二、使用ZFile

应用添加资源后,就可以直接使用ZFile类进行文件处理工作。例如:

/**

* 使用ZFile

*

* @author 邹峰立

*/

public class FileLibTestActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

// 创建单目录

String filePath1 = FileUtil.SDPATH + File.separator + "imageFile";

FileUtil.createSDDir(filePath1);

// 创建多目录

String filePath2 = FileUtil.SDPATH + File.separator + "ZFileDemo" + File.separator + "Cache";

FileUtil.createSDDirs(filePath2);

// 创建文件-根据当前年月日时分秒(时间戳)生成

File file1 = FileUtil.createTimeMillisFile();

// 创建文件-根据文件名生成

File file2 = FileUtil.createNameFile("test1.txt");

// 删除文件

if (file1 != null)

FileUtil.delFile(file1.getAbsolutePath());

// 删除文件夹(目录),以及内部所有文件

FileUtil.deleteDir(filePath2);

// 读取文件

String str = FileUtil.readFile(this, "test");

Log.d("test", str);

// 写入文件

FileUtil.writeFile(this, "123456789", "test", MODE_PRIVATE);

// 复制单个文件(复制文件内容)

File file3 = FileUtil.createNameFile("ZFileDemo" + File.separator + "test2.txt");

if (file2 != null && file3 != null)

FileUtil.copyFile(file2.getAbsolutePath(), file3.getAbsolutePath());

// 复制整个文件夹内容

FileUtil.copyFolder(filePath1, filePath2);

// 判断文件/目录是否存在

boolean isExists = FileUtil.isFileExist(filePath1);

Log.d("Log111", isExists + "");

// 获取文件/文件夹的指定单位的大小

double fileSize = FileUtil.getFileOrFilesSize(filePath1, FileUtil.SIZETYPE_B);

Log.d("Log1112", fileSize + "");

// 调用此方法自动计算文件/文件夹的大小

String sizeStr = FileUtil.getAutoFileOrFilesSize(filePath1);

Log.d("Log1113", sizeStr);

// 获取指定文件大小(B)

if (file2 != null) {

long sizeFile = FileUtil.getFileSize(file2);

Log.d("Log1114", sizeFile + "");

}

// 获取指定文件夹大小(B)

long sizeFiles = FileUtil.getFileSizes(new File(filePath1));

Log.d("Log1115", sizeFiles + "");

// 转换文件大小(取最大单位)(保留两位小数)

String fSize = FileUtil.formatFileSize(25012);

Log.d("Log1116", fSize);

// 转换文件大小,指定转换的单位(保留两位小数)

double fSize2 = FileUtil.formatFileSize(25012, FileUtil.SIZETYPE_KB);

Log.d("Log1117", fSize2 + "");

// 清除本应用内部缓存

FileUtil.clearAllCache(this);

// 获取本应用内部缓存大小(B)

long totalCacheSize = FileUtil.getTotalCacheSize(this);

Log.d("Log1118", totalCacheSize + "");

// 获取本应用内部缓存大小(格式化)

String formatCacheSize = FileUtil.getFormatTotalCacheSize(this);

Log.d("Log1119", formatCacheSize);

// 清除本应用SharedPreference(/data/data/com.xxx.xxx/sharedprefs)

FileUtil.cleanSharedPreference(this);

// 按名字清除本应用数据库

FileUtil.delDatabaseByName(this, "user");

// 获取文件目录信息

ArrayList fileInfoBeans = FileUtil.getFileInfos(FileUtil.SDPATH);

Log.d("Log11110", fileInfoBeans.toString());

// 打开文件

FileUtil.openFile(this, file1);

}

}

注:Android中操作文件,需要在清单文件AndroidManifest.xml加入相应的权限,如果是在Android6.0+版本中需要动态添加权限:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值