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 ...
随机推荐
- ZipDemo
package swing.zip; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt. ...
- Ubuntu 下一个disk清理保护
有很长一段时间ubuntu人,很多人会突然提示:磁盘空间不足1G. 然后很长一段时间分析..最近遇到的类别似问题.记录,如下面: 一个:.xsession-errors.old 能够在终端看到主用户文 ...
- Redis被攻击
记一次Redis被攻击的事件 最近几个月非常忙,所以很少有时间写博客,这几天终于闲了一些,于是就在整理平时的一些笔记.恰好这几天Redis服务器发生了问题,就记录一下. 我司有两款分别是2B和2C ...
- 使用C#在Windows应用商店程序中获取CPU信息
using Windows.Devices.Enumeration; string guidStr="{97FADB10-4E33-40AE-359C-8BEF029DBDD0}" ...
- Codeforces Round #216 (Div. 2) E. Valera and Queries (BIT)
标题效果: 给很多分布 x 行轴. 然后给出了一个非常的多点集,问该组点分布多少不同段. IDEAS: 分散成多个线段点集的. 给出的线段的话,也就是说这个点集上不会有点在这条线段上. 所以我们就是求 ...
- GDI+学习笔记(六)渐变画笔
刷,顾名思义,它是一样的刷.提请设备,还记得常唱歌曲,"我是一个画家.." 好吧.跑题了. 本系列博客希望尽可能简单的描写叙述每项功能,而不希望把每一个參数都介绍的详具体细,假设须 ...
- 设计模式之空对象(Null Object)模式
通过引用Null Object,用于取消业务逻辑中对对象的为空推断 类图: Nullable: package com.demo.user; public interface Nullable { b ...
- [SignalR]Self-Host
原文:[SignalR]Self-Host SignalR 的Self-Host,可以将客户端脚本需要调用的服务端后台代码寄宿在诸如控制台应用程序中,作为寄宿端需要.NET 4.5以及jquery.s ...
- java.lang.Runnable接口
大家都知道使用线程的2种方式,一是继承Thread类,二是实现Runnable接口.实际上,即使你实现了Runnable接口,终于还是要构造一个Thread类的对象.看过Thread源码发现,事实上这 ...
- Android开发模板------自己定义SimpleCursorAdapter的使用
使用SimpleCursorAdapter所设计的table(数据表)一定要有_id字段名称,否则会出现"找不到_id"的错误 SimpleCursorAdapter直接使用的方法 ...