Java清理临时目录文件Demo(一)
/**
* 删除单个文件
*
* @param sPath
* 被删除文件的文件名
* @return 单个文件删除成功返回true,否则返回false
*/
public static boolean deleteFile(String sPath) {
boolean flag = false;
File file = new File(sPath);
// 路径为文件且不为空则进行删除
if (file.isFile() && file.exists()) {
file.delete();
flag = true;
}
return flag;
} /**
* @description 扫描指定路径文件夹下所有文件
* 得到每个文件的创建时间
* 删除时间在规定时间之前的所有文件deleteFile(array[i].toString());
*
*/
private static void getOtherFile(String path) { File file = new File(path); File[] array = file.listFiles(); for (int i = 0; i < array.length; i++) { if (array[i].isFile()) { SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); Date newtime = null; try {
newtime = sf.parse(getFileCreateTime(array[i]).replace("/",
"-"));
} catch (ParseException e) {
e.printStackTrace();
} sf.format(newtime);
String currentTime = DateUtil.getCurrentDateTime();
String createRealTime = DateUtil.getCurrentDateBeforeDate(
currentTime, daynum); // java 比较时间大小
String s1 = sf.format(newtime);//硬盘上文件创建时间
String s2 = createRealTime;//指定日期(删除指定日期之前的文件)
java.text.DateFormat df = new java.text.SimpleDateFormat(
"yyyy-MM-dd");
java.util.Calendar c1 = java.util.Calendar.getInstance();
java.util.Calendar c2 = java.util.Calendar.getInstance();
try {
c1.setTime(df.parse(s1));
c2.setTime(df.parse(s2));
} catch (java.text.ParseException e) {
System.err.println("格式不正确");
}
int result = c1.compareTo(c2);
if (result == 0) {
// System.out.println("硬盘上文件创建时间 相等 指定日期");
} else if (result < 0) {
// System.out.println("硬盘上文件创建时间 小于 指定日期(硬盘文件日期在指定日期)");
// 当创建时间小于当前规定时间之前时,对文件进行删除操作。
deleteFile(array[i].toString());
} else {
// System.out.println("硬盘上文件创建时间 大于 指定日期");
//deleteFile(array[i].toString());
} } else if (array[i].isDirectory()) { getOtherFile(array[i].getPath()); }
}
} /**
* 获取文件创建时间
*
*/ public static String getFileCreateTime(File filePath) {
File file = filePath; try { Process ls_proc = Runtime.getRuntime().exec( "cmd.exe /c dir " + file.getAbsolutePath() + " /tc");
BufferedReader br = new BufferedReader(new InputStreamReader(
ls_proc.getInputStream())); for (int i = 0; i < 5; i++) { br.readLine(); } String stuff = br.readLine(); StringTokenizer st = new StringTokenizer(stuff); String dateC = st.nextToken() + " "; String time = st.nextToken(); String datetime = dateC.concat(time); br.close(); return datetime; } catch (Exception e) { return null;
} }
Java清理临时目录文件Demo(一)的更多相关文章
- Java 清除指定目录文件夹下文件
public static void clearFiles(String filePath){ File scFileDir = new File(filePath); File TrxFiles[] ...
- UWP开发之Template10实践二:拍照功能你合理使用了吗?(TempState临时目录问题)
最近在忙Asp.Net MVC开发一直没空更新UWP这块,不过有时间的话还是需要将自己的经验和大家分享下,以求共同进步. 在上章[UWP开发之Template10实践:本地文件与照相机文件操作的MVV ...
- Java System.getProperty("java.io.tmpdir") 获取系统临时目录
System.getProperty("java.io.tmpdir") 是获取操作系统的缓存临时目录 在windows7中的目录是: C:\Users\登录用户~1\AppDat ...
- File根据inputstream复制文件到临时目录,使用完之后删除
项目中有这个需求: 1)上传文件通过公司平台的校验,校验成功后,通过接口,返回文件流: 2)我们根据这个文件流进行操作.这里,先将文件流复制文件到项目临时目录WEB-INF/temp;文件使用完毕,删 ...
- Springboot上传文件临时目录无效
一个奇葩问题,虽然解决了,但还是没弄清楚,小记一笔. 年后回来,测试人员对年前的3次迭代的功能进行了回归测试,然后发现所有excel导入的功能都失效了.作为后台开发人员,当然是第一时间打开运行日志排查 ...
- Tomcat临时目录及java.io.tmpdir对应的目录
最近客户现场的技术支持接连反馈了一个问题:导入数据的时候,上传的excel会在服务器上生成一个临时文件,而这个临时文件都在 tomcat 的安装目录下,如果上传次数比较多的话,就会导致tomcat安 ...
- Java学习-043-获取文件在目录中的路径
我们在日常的电脑使用中,经常需要在当前目录或当期目录及其子目录中查找文件,并获取相应的文件路径名.在我们的自动化测试中,也经常需要确认文件在目录中是否成功生成或已存在,因而我写了一个小方法来实现. 获 ...
- Java学习-042-获取目录文件列表(当前,级联)
以下三个场景,在我们日常的测试开发中经常遇到: 软件自动化测试,在进行参数测试时,我们通常将所有相似功能的参数文件统一放在一个目录中,在自动化程序启动的时候,获取资源参数文件夹中所有参数文件,然后解析 ...
- Java递归列出目录下全部文件
Java递归列出目录下全部文件 /** * 列出指定目录的全部内容 * */ import java.io.*; class hello{ public static void main(String ...
随机推荐
- 设置状态栏样式Demo
达到的效果: 色有黑色变为了白色 //设置状态条的样式 - (UIStatusBarStyle)preferredStatusBarStyle { returnUIStatusBarStyleLigh ...
- HDU2149-Public Sale
Public Sale Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- javascript变量,作用域和内存问题(一)
js对象的引用是很有意思的,引用型对象是不可以直接引用的,我猜测这是原型的来源之一,有大神请详解或斧正. “引用类型的值是保存在内存中的对象.与其他语言不同,JavaScript不允 ...
- Cocos2d-X中实现批处理精灵
使用普通方法实现批处理精灵 在Sprite.h中加入以下的代码 #ifndef __Sprite_SCENE_H__ #define __Sprite_SCENE_H__ #include " ...
- tomcatserver解析(六)-- Acceptor
Acceptor负责用来管理连接到tomcatserver的数量,来看看Acceptor在tomcatserver中的应用,是怎样实现连接管理的,socket连接建立成功之后,是怎样实现内容的读写的( ...
- android4.4组件分析--service组件-bindService源代码分析
6.1.1. bindService 由于有前面分析startService的代码实现过程,则对于bindService的代码分析就不用那么具体介绍,在介绍流程的同一时候更关注一些细节上的部分. ...
- JS列
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU2h1aVRpYW5OYWlMdW8=/font/5a6L5L2T/fontsize/400/fill/I0 ...
- 最大流量dinci模板
我们知道.增广路径EK时间是在充电算法的O(n*m^2).找到最短增广路径的时间复杂度为O(m*n^2).这样的时间复杂度主要是寻找扩充道路. 这里也有一个演示Dinci算法,使用BFS层次结构图,然 ...
- 移动端 (基于jquery的3个)touch插件
//第一个 Author: Alone Antroduction: 高级前端开发工程师 Sign: 人生没有失败,只有没到的成功. //依赖jQuery 或者Zepto <script> ...
- ubuntu安装jdk eclipse mysql等
linux ubuntu下安装java web开发环境,需要安装包: jdk7 eclipse(选择java EE developer) apche-tomcat mysql(workbench可视化 ...