有些监控客户端没有覆盖早视频文件的功能,需要定期手动删除文件,监控录像才能正常工作,太麻烦,写个程序自动搞定。
package fr;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.Date;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class MainF extends JFrame {
JButton jb1 ;
JTextField jt1,jt2;//这里是放两个监控文件的地址,改成自己的即可
boolean boo;
int cd=5;//系统保留5g
public MainF() {
setTitle("监控视频文件自动删除最早视频");
setSize(500, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jt1 = new JTextField("D:\\RecordFiles\\ID0000801941031851330695-192.168.0.10-3000-0-8ac6742b90a247bcb0b828315423fb8c");
jt2 = new JTextField("E:\\Records\\Local Records\\Ch1_192.168.0.11");
jb1 = new JButton("开始运行");
setLayout(new FlowLayout(0));
add(jt1);
add(jt2);
add(jb1);
jb1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
boo = !boo;
if(boo) {
jb1.setText("运行中");
new Thread(new Runnable() {
public void run() {
while(boo) {
String path1 = jt1.getText();
String path2 = jt2.getText();
jb1.setText("运行中···");
neinei(path1);
neinei(path2);
jb1.setText("运行中");
//System.out.println(new Date());
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
jb1.setText("启动");
}
}).start();
}else {
System.out.println("程序已停止,请重复启动");
jb1.setText("启动");
}
}
});
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
new MainF().setVisible(true);
}
//查看指定盘符还有多少容量
public void neinei(String path) {
File fg = new File(path);
long s1 = fg.getFreeSpace();//磁盘容量
double dl1 = s1/1024.0/1024.0/1024.0;
String trr = dl1+"";
String trr1 = trr.substring(trr.indexOf("."));
if(trr1.length()>2) {
trr1 = trr1.substring(0,2);
}
trr = trr.substring(0, trr.indexOf("."))+trr1;
//System.out.println(path +",剩余空间: " + trr + " g");
while(dl1<cd) {//如果剩余空间小于cdg,删除最早文件
System.out.println(path +",剩余空间: " + trr + " g,"+"cd="+cd+" g");
File fc = new File(path);
File[] fca = fc.listFiles();//获取该文件夹下所有文件
File ftv0 = fca[0];
for(int i = 1 ; i < fca.length; i++) {//选出创建时间最早的文件ftv0
File ftv1 = null;
ftv1 = fca[i];
long tt1 = ftv0.lastModified();
long tt2 = ftv1.lastModified();
if(tt2<tt1) {
ftv0 = ftv1;
}
ftv1 = null;
}
if(ftv0.exists()) {
System.out.println("即将删除文件:" + ftv0.getName());
System.out.println("文件是否删除成功:"+ ftv0.delete());
}
fg = new File(path);
s1 = fg.getFreeSpace();//ʣ�����
dl1 = s1/1024.0/1024.0/1024.0;
trr = dl1+"";
trr1 = trr.substring(trr.indexOf("."));
if(trr1.length()>2) {
trr1 = trr1.substring(0,2);
}
trr = trr.substring(0, trr.indexOf("."))+trr1;
System.out.println("删除文件后剩余空间: " + trr + " g");
}
}
}