监控自动删除最早视频文件

有些监控客户端没有覆盖早视频文件的功能,需要定期手动删除文件,监控录像才能正常工作,太麻烦,写个程序自动搞定。

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");
		}
	}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

间歇性突发写作灵感

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值