转载请注明出处:https://blog.csdn.net/a512337862/article/details/89915641
前言
太长时间没有写博客了,感觉自己整个人都快荒废了,先把之前写的工具类拿过来凑个数。FileUtil 主要用于文件相关的工具类,主要是文件/文件夹的相关操作,具体的可参考代码注释。
代码
/**
* Author : BlackHao
* Time : 2018/4/9 10:10
* Description : 文件工具类
*/
public class FileUtil {
/**
* 获取缓存文件
*
* @param context 上下文对象
* @param fileName 文件名
* @return 文件路径
*/
public static File getTempFile(Context context, String fileName) {
File file = null;
try {
String[] fix = fileName.split("\\.");
String preFix = fix[0];
String sufFix = null;
if (fix.length > 1) {
sufFix = "." + fix[1];
}
String path = context.getCacheDir().getAbsolutePath() + File.separator + "temp";
//判断文件夹是否存在,不存在直接创建
File folder = new File(path);
if (!folder.exists()) {
if (!folder.mkdirs()) {
//创建失败
LogHelper.getInstance().e("create folder " + path + " fail");
return null;
}
}
file = File.createTempFile(preFix, sufFix, folder);
//程序结束自动删除文件(这里好像并没有什么效果,所以需要手动去调用delTempFileBeforeTime)
file.deleteOnExit();
} catch (IOException e) {
e.printStackTrace();
}
return file;
}
/**
* 删除临时文件夹下,指定时间以前的所有临时文件
*
* @param context 上下文对象
* @param msec 指定时间(毫秒)
*/
public void delTempFileBeforeTime(Context context, long msec) {
String path = context.getCacheDir().getAbsolutePath() + File.separator + "temp";
delFileBeforeTime(path, msec);
}
/**
* 删除文件夹下指定时间以前的所有文件
*
* @param folderPath 文件夹路径
* @param msec 指定时间(毫秒),传 <=0 表示删除所有的文件
*/
public