Java写一个自动删除指定文件的小程序
时间:2019-03-13
本文章向大家介绍Java写一个自动删除指定文件的小程序,主要包括Java写一个自动删除指定文件的小程序使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一,由于硬件设备每天会产生40-50G的容量,而硬盘只有6百多G,只能采用这个方式,
思路,第一步,先删除指定文件。
本着全自动化的无操作!
第二步,每天都要进行删除。–定时器!
第三步,把jar打包成.exe
当然,由于时间关系并不完善。
如下:没有设置,添加其他路径,
筛选格式,指定名称等功能。
代码如下。
package main;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingWorker;
import javafx.scene.control.DatePicker;
public class home {
public static void main(String[] args) {
// delPahtFile();
// 主窗体
JFrame f = new JFrame("删除IPTV文件");
// 主窗体设置大小
f.setSize(400, 300);
// 主窗体设置位置
f.setLocation(200, 200);
// 主窗体中的组件设置为绝对定位
f.setLayout(new BorderLayout());
// 按钮组件
JButton b = new JButton("一键删除视频文件");
b.setBounds(50, 50, 280, 30);
//文本框
JLabel l = new JLabel("此程序将会在每天的8点,进行文件删除!");
//文字颜色
l.setForeground(Color.red);
l.setBounds(50, 50, 280, 30);
// 同时设置组件的大小和位置
// 把按钮加入到主窗体中
f.add(b, BorderLayout.NORTH);
f.add(l, BorderLayout.NORTH);
timer4();
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
@Override
protected Void doInBackground() throws Exception {
// TODO Auto-generated method stub
delPahtFile();
return null;
}
};
worker.execute();
}
});
// 关闭窗体的时候,退出程序
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 让窗体变得可见
f.setVisible(true);
}
public void xianc() {
SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
@Override
protected Void doInBackground() throws Exception {
// TODO Auto-generated method stub
return null;
}
};
worker.run();
}
public static void delPahtFile() {
File file = new File("D:\\IPTV\\live\\html");
// 判断是不是文件夹
boolean isDirectory = file.isDirectory();
if (isDirectory) {
String[] files = file.list();
/// 循环下面所有的文件
for (String path : files) {
String afterPointLetter = path.substring(path.lastIndexOf(".") + 1, path.length());
if (forbidFormat(afterPointLetter)) {
System.out.println("D:\\IPTV\\live\\html\\" + path);
File deleteFile = new File("D:\\IPTV\\live\\html\\" + path);
if (deleteFile.exists()) {
deleteFile.delete();
}
}
}
}
}
// 判断是否带有ts格式的
public static boolean forbidFormat(String threeLetter) {
List<String> fileFormat = new ArrayList<String>();
fileFormat.add("ts");
fileFormat.add("mp4");
if (fileFormat.contains(threeLetter)) {
return true;
} else {
return false;
}
}
/**
* 定时器
*/
public static void timer4(){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 8); // 控制时
calendar.set(Calendar.MINUTE, 0); // 控制分
calendar.set(Calendar.SECOND, 0); // 控制秒
Date time = calendar.getTime(); // 得出执行任务的时间,此处为今天的12:00:00
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("执行了!!");
delPahtFile();
}
}, time, 1000*60*60*24);
}
}
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释